At 18:52 29/03/01 +0200, you wrote:
Hello again!
>Sorry but didn't see your other comments on first reading.
I thought that the key cache meant that mysqld would only hold key/indexes
in memory and that the data the indexs point to would
still be read/written from disk. It's just that it seems to me that
mysqld allocates memory for the indexes and the data they point to, to
enable the data set to be retrieved.And that when an additional table is
used by a client, the server's memory manager allocates additional memory
to cope with new query rather than using the memory that it has already
grabbed.
I can't belive that it should work this way because mysqld would would
allways eat up memory to the sum of all the data of all the tables used.
The only way I have found of forcing mysqld to deallocate memory is to drop
one of the tables previously used in a select statement - not much use!
I have read 90% of MySQL by Paul DuBois and can't find an answer!? Any ideas?
cheers
Shaun.
i'm using:-
mysql version 3.23.33
Linux Box - kernel 2.4 (swap disabled)
> > 1: When a client makes a "SELECT * FROM mytable1" request to the
> server ,
> > mysqld allocates memory to handle it and on subsequent queries to
> the same
> > table no more memory is allocated.However, if a subsequent query
> such
> > as "SELECT * FROM mytable2" is issued, mysqld allocates additional
> memory
> > even though the first client has closed it's connection.Is this
> supposed
> > to happen this way?
>
>Yes. MySQL has a key cache (and some other caches) which are used to
>optimize speed. You can specify the size of the caches on start-up.
>
---------------------------------------------------------------------
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