Re: Cant login as a user I thought I created

2003-08-14 Thread Murad Nayal

see below:

Mark Healey wrote:
 
 On Wed, 13 Aug 2003 15:50:02 -0700, Jeff Weeks wrote:
 
 How did you create user mark?
 
 I figured the grant statement would take care of that.  That's what
 the books I bought imply anyway.
 
 BTW, after issuing a grant you must issue flush privileges.
 
 Did that, the problem still persists.
 
 Check out mark in the user table in the mysql database.  There's your
 problem!
 
 What am I supposed to look for in the user table?  There is a user
 mark with a password but all the permissions are N.
 
 On Wednesday, August 13, 2003, at 12:24 PM, Mark Healey wrote:
 
  I'm trying to learn to use mysql.  I don't want to mess with the
  system databases so I decided create a database and user to play
  with but I can't seem to do it right.
 
  I logged in as root and created a database
 
  mysql create database marksstuff;
  Query OK, 1 row affected (0.00 sec)
 
  I then granted priveleges to mark
 
  mysql grant all on marksstuff.* to mark identified by 'password'; not
  the real password
  Query OK, 0 rows affected (0.01 sec)
 
  I then logged out and tried to login as mark
 
  [EMAIL PROTECTED] mark]$ mysql -u mark -ppassword
  ERROR 1045: Access denied for user: '[EMAIL PROTECTED]' (Using password:
  YES)

the user mark has permissions to access only the marksstuff database.
but you're not specifying the database with the mysql command.
presumably, mysql is trying to log you in to another, default database
that mark does not have permissions to access. 
have you tried simply:

mysql -u mark -p marksstuff (and then enter the password when prompted)

Murad Nayal

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Re: UDF Programming Problem

2003-08-14 Thread Murad Nayal


Hello,

 
 extern C __declspec(dllexport) char *echo(UDF_INIT *initid, UDF_ARGS *args, char 
 *is_null, char *error)
 {
   return args-args[0];
 }
 

args-args[0] is not null terminated. This is how I've been handling
this. please let me know if there is a better approach (i.e. whether it
is possible, for example, to terminate args-args[0] 'in place', my
guess is not)

char buff[255];
int arglen = args-lengths[0]  255 ? args-lengths[0] : 255;
strncpy(buff,args-args[0],arglen);
buff[arglen] = 0;

etc.

of course, you can't return a pointer to buff in this case. if you want
to return the argument you will have to allocate memory in _init and
pass it along in initid-ptr which then could used instead of buff etc.

cheers,



-- 
Murad Nayal M.D. Ph.D.
Department of Biochemistry and Molecular Biophysics
College of Physicians and Surgeons of Columbia University
630 West 168th Street. New York, NY 10032
Tel: 212-305-6884   Fax: 212-305-6926

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



retrieving rows by insertion order

2003-08-01 Thread Murad Nayal


Hello,

I vaguely remember reading in the manual that the order of the retrieved
rows in a response to a select statement is unpredictable (unless you
use an order by clause). this possibly depends on the indices set up for
the table and/or used in constructing the result etc.  is this accurate?
if so is there any way to insure that rows retrieved are returning in
the order by were inserted in, say other than ordering by some
'insertion counter' (such a counter is of no use otherwise in my
application!).

thanks for the help.

-- 
Murad Nayal M.D. Ph.D.
Department of Biochemistry and Molecular Biophysics
College of Physicians and Surgeons of Columbia University
630 West 168th Street. New York, NY 10032
Tel: 212-305-6884   Fax: 212-305-6926

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Re: InnoDB

2003-03-31 Thread Murad Nayal


Hello,

This actually brings up a question I've been meaning to ask.

from the InnoDB documentations

To be able to recover your InnoDB database to the present from the
binary backup described above, you have to run your MySQL database with
the general logging and log archiving of MySQL switched on. Here by the
general logging we mean the logging mechanism of the MySQL server which
is independent of InnoDB logs.

http://www.vanderouderaa.nl/MySQL/doc/en/Backing_up.html

Are they referring to the bin logs here. and does that mean bin logs are
absolutely needed for crash recovery of innoDBs.

many thanks

Murad

gerald_clark wrote:
 
 Those are binary log files used in replication.
 If you are not running replication, remove the line
 bin-log
 from the config file.
 
 Tiele Declercq wrote:
 
 Hey guys,
 
 Ii could not find an answer on the innodb website, i'm using InnoDB now for some 
 months and i'm very happy since the constant corruptions i had in MyISAM are gone 
 now. Although i have been warned that InnoDB would take up more diskspace i did not 
 suspect gigabytes.
 
 When first installed i've set up my DB file at 300MB, hold in mind that the 
 database is quiet large... some tables hold over 2.000.000 records (for 
 statistics). I soon realized this would have to be a bit bigger so i've set this to 
 2G's. Did this because i saw some binary files in my MySQL dir...  myname-bin.001, 
 002, 003,. up to 30 for now. Sometimes 2 each day sometimes none for a few 
 days... Biggest so far is 1G... there are 4 of those. Total size of those binary 
 files is 7.5G's and i have NO idea what those files do. I think i've read the 
 complete manual but could find anything about these files. It can't be log files 
 coz that's ib_logfile0  1, each set at 150MB).
 
 My total disk space is 40Gb...  so it's enough to hold it for now but i WILL run 
 out of space in a couple of months at this rate. Can i safely remove these files ? 
 I'm pulling backups of my database each day so if something goes wrong i can easily 
 restore it.
 
 So the currect db file is 2GB big and i have over 1GB free... so it's NOT the 
 ibdata file that takes up diskspace but the hostname-bin.xxx files are bugging me.
 
 Best Regards,
 
 Tiele Declercq
 ---
 Projectleider Start.be
 Moderator http://pcshop.start.be
 ---
 http://start.be
 

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



InnoDB crash recovery

2003-03-31 Thread Murad Nayal


Hello,

from the InnoDB documentation

To be able to recover your InnoDB database to the present from the
binary backup described above, you have to run your MySQL database with
the general logging and log archiving of MySQL switched on. Here by the
general logging we mean the logging mechanism of the MySQL server which
is independent of InnoDB logs.

http://www.vanderouderaa.nl/MySQL/doc/en/Backing_up.html

What 'general logging and log archiving' does this paragraph refer to.
is it the new bin logging. These bin files are very large and I'd rather
not activate the bin-log if I don't have to. Are they important for
crash recovery (server crash) in general or for innoDB in particular

many thanks

Murad

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Transaction support

2003-03-26 Thread Murad Nayal


Hello,

I experiencing a problem I hope someone here can help with:

I have several C-coded clients running and performing inserts and
updates on a database. I would like to make sure that the -entire-
client session is atomic. i.e. if a client dies in the middle of the
computation (not uncommon) then all of the updates are rolled back. I
take it I can do that by using InnoDB tables and transactions

the problems:

- the number of updates and inserts per client is large ~ 10,000 or so
inserts/updates on many tables. I need ALL of them to be one single
atomic operation. is there any limit on the size of a transaction. any
way to increase such a limit?

- if the client dies in the middle of the computation it obviously won't
be able to issue an explicit rollback. what happens in this instance. is
possible to set things up so that an automatic rollback takes place.

- this might be tricky. but during most inserts my C program retrieves
row ids (using mysql_insert_id() function. this id is then used in
subsequent inserts. would that still work with transactions. i.e.
without committing an insert to a table, what would mysql_insert_id
return?

- would performance with such large transactions be substantially
degraded?

this is rather important issue for me. I'd really appreciate any help in
this regard.

many thanks in advance
Murad

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



maximum manageable table sizes for performance

2003-03-18 Thread Murad Nayal


Hi all,

I am in the process of planning for the construction of a very large
database and I wanted to do a reality check before hand. in this
database a typical table would be 100,000,000 rows and some tables could
be as large as 100 times that, 10,000,000,000. I am wondering:

1- is it possible?
2- how do the indices files grow with the number of rows. is it more or
less linear or should I expect some explosion in size as the number of
rows increases.
3- I would need to do joins on as many as 5 tables of that size.
providing that joins are done on appropriately indexed columns. how
would you expect the performance to be like? for my purposes it doesn't
need to be real time. but a response within 15 minutes is probably
necessary.
4- some of these tables might need to sit on an nfsed file system. would
that be a completely crazy thing to do?
5- what sort of server memory you would think be a minimum to handle
this DB.

and lastly:

6-would any other DBMS (than mysql), say commercial ones, be better
equipped to handle such data sizes?

thanks. any relayed experiences the subject of large database is very
much appreciated.

best
Murad

-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php



Re: forcing mysql client to use TCP socket?

2003-03-15 Thread Murad Nayal


thank you all for the help!

best
Murad

Dan Nelson wrote:
 
 In the last episode (Mar 14), Murad Nayal said:
  how can I force mysql interactive client (actually the client library as
  well) to use a TCP port on the local host
 
  if I do:
 
  mysql -h localhost -u user -p --port=2000
 
  I get:
 
  ERROR 2002: Can't connect to local MySQL server through socket
  '/tmp/mysql.sock'
 
 localhost is a special hostname to mysql: it tells it to use the
 local Unix socket.  To talk to a local mysqld server through TCP, use
 127.0.0.1, or any other IP address configured on the machine.  It'll
 be a bit slower than using a Unix socket, though.
 
 --
 Dan Nelson
 [EMAIL PROTECTED]

-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php



running an mysql client on a linux cluster?

2003-03-14 Thread Murad Nayal


Hello,

I wonder if anyone has encountered this problem before and has any
ideas. I need to run programs on a linux cluster that make client
connections to an mysql database on a different server. this linux
cluster is set up where only the main node has an internet connection.
so the problem is how make it possible for programs running on the
internal nodes to make connections to the mysql server. This may not be
a strictly an mysql question. but I am in a little bit of a bind and
would greatly appreciate any help if anyone has experience dealing with
a similar situation. 

many thanks

Murad

-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php



Re: running an mysql client on a linux cluster?

2003-03-14 Thread Murad Nayal

Thanks a lot Walt,

do you happen to have any code examples/fragments handy you can share? 

thanks again


walt wrote:
 
 Murad Nayal wrote:
 
  Hello,
 
  I wonder if anyone has encountered this problem before and has any
  ideas. I need to run programs on a linux cluster that make client
  connections to an mysql database on a different server. this linux
  cluster is set up where only the main node has an internet connection.
  so the problem is how make it possible for programs running on the
  internal nodes to make connections to the mysql server. This may not be
  a strictly an mysql question. but I am in a little bit of a bind and
  would greatly appreciate any help if anyone has experience dealing with
  a similar situation.
 
  many thanks
 
  Murad
 
  -
  Before posting, please check:
 http://www.mysql.com/manual.php   (the manual)
 http://lists.mysql.com/   (the list archive)
 
  To request this thread, e-mail [EMAIL PROTECTED]
  To unsubscribe, e-mail [EMAIL PROTECTED]
  Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
 
 Murad,
 You could write a program that runs on the master node which makes the request on
 
 behalf of the slave/secondary nodes and then returns the result back. We use
 something
 similar to this that we call a broker. The broker is the only thing that talks
 to the database.
 All clients make requests to the broker , the broker gets/updates the info, and
 returns the result
 to the client. It's a very simple concept and has worked well.  We wrote it to
 get around Oracle
 licensing (only one user connected to the db, but we could handle requests from
 multiple
 web servers).
 
 Hope this helps!
 
 walt

-- 
Murad Nayal M.D. Ph.D.
Department of Biochemistry and Molecular Biophysics
College of Physicians and Surgeons of Columbia University
630 West 168th Street. New York, NY 10032
Tel: 212-305-6884   Fax: 212-305-6926

-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php



forcing mysql client to use TCP socket?

2003-03-14 Thread Murad Nayal


Hello,

how can I force mysql interactive client (actually the client library as
well) to use a TCP port on the local host

if I do:

mysql -h localhost -u user -p --port=2000

I get: 

ERROR 2002: Can't connect to local MySQL server through socket
'/tmp/mysql.sock'

what might be a problem is: it seems, for reasons I don't entirely
understand possibly related to the network configuration on this node, I
need to use the name 'localhost' rather than the actual name of the
node!

thanks in advance for the help

Murad

-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php



help on NOT EXISTS SQL query

2002-12-09 Thread Murad Nayal


Hello all,

I need to run query like (in mysql  ver.4):

select * from table1 as t1 where not exists (select NULL from table2 as
t2 where t1.field1 = t2.field1)

I know you can emulate an 'exists' subquery with a join. but I just
can't think of a way to emulate a 'not exists' without a subquery.
probably due to my limited sql experience. any hints?

thanks a lot
Murad

BTW: when do you think mysql 4.1 would be stable enough for robust use
(not necessarily mission critical).

-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php




Re: help on NOT EXISTS SQL query

2002-12-09 Thread Murad Nayal

Thanks Adolfo, 

this actually won't quite do the trick though. I should have been a bit
more specific. the query actually comes up in the context of
computational genomics. a similar, perhaps more familiar problem would
be something like this:

table

id customer purchase
1  c1   microwave
2  c1   car
3  c1   freezer
4  c2   car
5  c2   microwave
6  c3   car
7  c3   CD player

etc.

the idea is to pull out all the customers who have never purchased say a
freezer:

if you do

select customer from table where purchase != freezer

you'll get all the INSTANCES of customer purchasing something other than
a freezer. i.e. you'll get c1,c2,c3. although c1 did purchase a freezer.

my best guess of how to do this in SQL was

select distinct t1.customer from table as t1 where not exists (select
NULL from table as t2 where t1.customer = t2.customer and t2.purchase =
'freezer')

- does that look about right for the purpose I mentioned?

- now how do you do that without the subquery (especially considering
that the performance of the subquery will probably be horrible)

many thanks
Murad

Adolfo Bello wrote:
 
 SELECT * FROM table1 t1 LEFT OUTER JOIN table2 t2 ON t1.field1=t2.field2
 WHERE t2.field2 IS NULL
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED]] On Behalf Of Murad Nayal
  Sent: Monday, December 09, 2002 11:38 AM
  To: MySQL List
  Subject: help on NOT EXISTS SQL query
 
 
 
 
  Hello all,
 
  I need to run query like (in mysql  ver.4):
 
  select * from table1 as t1 where not exists (select NULL from
  table2 as t2 where t1.field1 = t2.field1)
 
  I know you can emulate an 'exists' subquery with a join. but
  I just can't think of a way to emulate a 'not exists' without
  a subquery. probably due to my limited sql experience. any hints?
 
  thanks a lot
  Murad
 
  BTW: when do you think mysql 4.1 would be stable enough for
  robust use (not necessarily mission critical).
 

-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php




Re: help on NOT EXISTS SQL query

2002-12-09 Thread Murad Nayal

Hello Stefan,

thanks for the feedback. I think I probably misstated my problem. I just
emailed a more explicit example of the sort of thing I am trying to do.
for the sake of completeness I'll reproduce it here: 

table

id customer purchase
1  c1   microwave
2  c1   car
3  c1   freezer
4  c2   car
5  c2   microwave
6  c3   car
7  c3   CD player

the goal is to find all customers that have never bought a freezer.

am I correct in interpreting your suggestion, applied to this case, as
the query:

select customer from purchases where purchase != freezer is null

i tried and it returned zero rows. probably because purchase != freezer
is either true or false and neither value is null!

what am i missing?

Murad


Stefan Hinz, iConnect (Berlin) wrote:
 
 Dear Murad,
 
  I know you can emulate an 'exists' subquery with a join. but I just
  can't think of a way to emulate a 'not exists' without a subquery.
  probably due to my limited sql experience. any hints?
 
 You have probably tried something like SELECT ... WHERE condition IS NOT
 NULL. To emulate a not exists subselect, you would use SELECT ... WHERE
 condition IS NULL.
 
  BTW: when do you think mysql 4.1 would be stable enough for robust use
 
 As I hear, MySQL 4.1-alpha will be released very soon, probably in January.
 My guess for MySQL 4.1-gamma (the release declared as stable, meaning there
 are lots of installations in production environments that have proven
 stable) is August 2003. Any other guesses? Monty? ;-)


-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php




Re: help on NOT EXISTS SQL query

2002-12-09 Thread Murad Nayal


I think i found a way to do this: in case anybody is interested:

select customer from purchases group by customer having sum(case when
purchase = 'freezer' then 1 else 0 end) = 0;

I am finding that SQL is trickier (and more powerful) than I thought
originally!!

Murad Nayal wrote:
 
 Thanks Adolfo,
 
 this actually won't quite do the trick though. I should have been a bit
 more specific. the query actually comes up in the context of
 computational genomics. a similar, perhaps more familiar problem would
 be something like this:
 
 table
 
 id customer purchase
 1  c1   microwave
 2  c1   car
 3  c1   freezer
 4  c2   car
 5  c2   microwave
 6  c3   car
 7  c3   CD player
 
 etc.
 
 the idea is to pull out all the customers who have never purchased say a
 freezer:
 
 if you do
 
 select customer from table where purchase != freezer
 
 you'll get all the INSTANCES of customer purchasing something other than
 a freezer. i.e. you'll get c1,c2,c3. although c1 did purchase a freezer.
 
 my best guess of how to do this in SQL was
 
 select distinct t1.customer from table as t1 where not exists (select
 NULL from table as t2 where t1.customer = t2.customer and t2.purchase =
 'freezer')
 
 - does that look about right for the purpose I mentioned?
 
 - now how do you do that without the subquery (especially considering
 that the performance of the subquery will probably be horrible)
 
 many thanks
 Murad
 
 Adolfo Bello wrote:
 
  SELECT * FROM table1 t1 LEFT OUTER JOIN table2 t2 ON t1.field1=t2.field2
  WHERE t2.field2 IS NULL
 
   -Original Message-
   From: [EMAIL PROTECTED]
   [mailto:[EMAIL PROTECTED]] On Behalf Of Murad Nayal
   Sent: Monday, December 09, 2002 11:38 AM
   To: MySQL List
   Subject: help on NOT EXISTS SQL query
  
  
  
  

-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php




extracting submatches from regular expressions

2002-11-21 Thread Murad Nayal


Hello all,

Is there a mysql function that extracts sub matches from regular
expressions. for example in perl when you match a string to a regular
expression like /\s+(\S+)\s+(\S+)/ the submatches (strings matching the
part of the expression between parenthesis) are available in variables
$1, $2 etc. after the match. It would have been really useful if you
could do that in sql. something like: 

select submatch(column,regular_expression) from table where condition
etc.

I couldn't find a mention of such function in the manual but I thought
I'd ask.

BTW, does any other DBMS implement such function.

many thanks

Murad Nayal

-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php




Re: Impossible SQL ???

2002-11-12 Thread Murad Nayal

Hello,

It seems to me that there is a fundamental reason why this can not be
accomplished with a single SQL query. The process requires that the
search algorithm maintains state between rows. i.e. the decision to keep
or discard rows from the table as the algorithm descends down the table
is not made based on the content of the current row. rather it is made
based on whether the search process has encountered the start row (with
the desired field1) and has not yet encountered the end row (with the
matching field2). As far as I know it is not possible for a single SQL
query to maintain state between rows. hence this has to be accomplished
by multiple SQL queries. one to establish the start and end row indices.
and then another that would take the row indices as constants and
extracts the desired portion of the table. so in fact this might be
appropriately labeled as an 'impossible' SQL query!

in any event, I am still new to SQL. please correct me if I'm wrong.

Murad Nayal

Charlie wrote:
 
 Thanks for the reply, but it isn't quite what is needed.
 
 The problem is that I need all the records between the two occurances of
 identical values in field 2, with no records which occur before or after
 those two occurances.
 
 For example, the following table with 3 fields:
 11 10
 24 99
 32 99
 41 98
 54 88
 62 97
 
 If the parameter for the second column is 4, I would need to retrieve
 records 2, 3, and 4.
 If the query needs, for simplicity, to return record 5, that could be
 handled by the program.
 
 Thanks for your thoughts!!
 Charlie
 


-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php




Re: Count Rows in two tables

2002-11-12 Thread Murad Nayal

Alan McDonald wrote:
 
 You can't count the join?
 Alan

if you count the (unqualified) join you'll end up with the product of
the two table counts. 

Murad

 
  -Original Message-
  From: Rick Baranowski [mailto:rickb;baranconsulting.com]
  Sent: Wednesday, 13 November 2002 12:10
  To: [EMAIL PROTECTED]
  Subject: Count Rows in two tables
 
 
  Hello all,
 
  Does anybody have a SQL string to count the rows in two different
  tables and
  give you a total number of rows? I have been trying to find an
  answer for a
  couple of days and seems like a simple string.
 
  Thank you
 
  Rick
 
 
  -


-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php




performace question

2002-11-05 Thread Murad Nayal


Hello, 

I am struggling trying to optimize the performance of mysql over rather
large databases. for now there is one issue I don't understand and I am
wondering if anybody can help with any hints.

I am trying to create an index for a large table (100,000,000 rows). the
index is for a column of CHAR(4). The indexing operation has already
taken more than 10 hours and hasn't finished yet. The most perplexing
thing is that the the CPUs are mostly idle (90% idle!!). there is no
shortage of memory. the machine has 2Gigs of memory and over 1Gig is
available. it is not a disk access bottle neck either as osview
(equivalent to iostat on the IRIX) does not seem to report anything
suspicious. when I connect to the mysqld daemon using dbx it seems busy
coping tables. process list shows a state of copy to tmp table. 

here are the mysqld options (I thought the buffers were fairly
generous!)

/local/bin/safe_mysqld --user=mysql -O join_buffer_size=16M -O
key_buffer_size=128M  -O record_buffer=4M -O record_rnd_buffer=4M -O
query_buffer_size=512k -O tmp_table_size=128M -O
myisam_sort_buffer_size=16M -O sort_buffer=8M -O table_cache=256 -O
thread_cache_size=40 --datadir=/echoes/databases/mysql
--safe-show-database --safe-user-create

any idea why is it that the mysqld daemon is not using the CPUs and/or
why is this taking so long??

many thanks

Murad

-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php




Re: performace question

2002-11-05 Thread Murad Nayal

thanks jeremy for the reply

Jeremy Zawodny wrote:
 

 
  any idea why is it that the mysqld daemon is not using the CPUs and/or
  why is this taking so long??
 
 You might benefit from a larger key buffer.
 
 Can you show us the output of vmstat 1 for 10 or 20 seconds?
 

What would be an appropriate key_buffer_size. other 'typical' operations
I would need to perform are joins of say 15-20 tables each about
1,000,000 rows or so. of course the plan is to index all the join
columns. the end result of the joins should be the same size as an
individual table. i.e. for each row of first table there should be only
one matching row of the second and so on. should the key_buffer_size be
roughly the size of all the index files of these tables combined? more
importantly, does such a query even sound feasible (this database is not
built yet, I am trying to plan ahead).

It seems that poor performance related to my earlier question was due to
disk io delays after all. IRIX has a 'sar' command that probably does
the same thing as vmstat. here is the output (half way through the index
building: the 50% idle is due to the second processer.

00:22:13  %usr  %sys %intr  %wio %idle %sbrk  %wfs %wswp %wphy %wgsw
%wfif
00:22:1815 3 03348 099 0 0 1
0
00:22:23 9 2 04149 0   100 0 0 0
0
00:22:2811 2 03850 0   100 0 0 0
0
00:22:3314 2 03449 0   100 0 0 0
0
00:22:3816 2 03249 0   100 0 0 0
0
00:22:4322 4 02548 0   100 0 0 0
0
00:22:4816 3 03349 0   100 0 0 0
0
00:22:53 7 1 14248 0   100 0 0 0
0
00:22:58 1 1 14849 0   100 0 0 0
0
00:23:03 5 2 04448 0   100 0 0 0
0
Average 12 2 03749 0   100 0 0 0
0


thanks again

Murad

-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php