net_buffer_length).
mysqld one can specify a key buffer. This will buffer
all indexes in all tables on a FIFO basis (variable key_buffer).
BLOBs are stored on disk. One current
problem is that if the HEAP table exceeds the size of
tmp_table_size, one will get the error: 'The table ### is full'.
In the future we will fix this by automatically changing the in memory
(HEAP) table to a disk based (NISAM) table if needed. To go around this
problem one can increase the -O tmp_table_size=# option to mysqld
or use the SQL option SQL_BIG_TABLES. See section SET OPTION syntax.. In
MySQL 3.20 the maximum size of the temporary table was
recordbuffer*16, so if you are using this version you have to
increase recordbuffer. You can also start mysqld with --big-tables
to always store temporary tables on disk, but this will affect the speed of all
complicated queries.
BLOBs) is allocated. A BLOB
uses 5 to 8 bytes +length of blob data.
BLOBs, a buffer is enlarged dynamically
to read in larger BLOBs. If one scans a table there will be
a allocated buffer as large as the largest BLOB.
mysqladmin refresh closes all tables that are not in use and marks
all used tables to be closed when the running thread finishes. This will
effectively free most used memory. All log files are also closed and reopened.
When running mysqld ps and other programs may report that
it uses a lot of memory. This may be caused by thread-stacks on different
memory addresses. For example, the Solaris ps calculates the unused memory
between stacks as used memory. You can verify this by checking available
swap with 'swap -s'. We have tested mysqld with commercial
memory-leakage detectors so there should not be any memory leaks.
Go to the first, previous, next, last section, table of contents.