Disk Issues - Oracle 5.0 Reference Manual

Table of Contents

Advertisement

• Most requests that perform a sort allocate a sort buffer and zero to two temporary files depending on
the result set size. See
• Almost all parsing and calculating is done in thread-local and reusable memory pools. No memory
overhead is needed for small items, so the normal slow memory allocation and freeing is avoided.
Memory is allocated only for unexpectedly large strings.
• For each
each concurrently running thread. For each concurrent thread, a table structure, column structures
for each column, and a buffer of size
counting
BLOB
data. The
• For each table having
If you scan a table, a buffer as large as the largest
• Handler structures for all in-use tables are saved in a cache and managed as a FIFO. The initial
cache size is taken from the value of the
used by two running threads at the same time, the cache contains two entries for the table. See
Section 8.8.3, "How MySQL Opens and Closes
• A
FLUSH TABLES
are not in use at once and marks all in-use tables to be closed when the currently executing thread
finishes. This effectively frees most in-use memory.
have been closed.
• The server caches information in memory as a result of
memory is not released by the corresponding
that executes many instances of the statements that cause caching, there will be an increase in
memory use. This cached memory can be freed with
and other system status programs may report that
ps
caused by thread stacks on different memory addresses. For example, the Solaris version of
the unused memory between stacks as used memory. To verify this, check available swap with
-s. We test
there should be no memory leaks.

8.9.5. Disk Issues

• Disk seeks are a huge performance bottleneck. This problem becomes more apparent when
the amount of data starts to grow so large that effective caching becomes impossible. For large
databases where you access data more or less randomly, you can be sure that you need at least
one disk seek to read and a couple of disk seeks to write things. To minimize this problem, use disks
with low seek times.
• Increase the number of available disk spindles (and thereby reduce the seek overhead) by either
symlinking files to different disks or striping the disks:
• Using symbolic links
This means that, for
location in the data directory to another disk (that may also be striped). This makes both the
seek and read times better, assuming that the disk is not used for other purposes as well. See
Section 8.9.6, "Using Symbolic
• Striping
Striping means that you have many disks and put the first block on the first disk, the second
block on the second disk, and the N-th block on the
on. This means if your normal data size is less than the stripe size (or perfectly aligned), you get
Section C.5.4.4, "Where MySQL Stores Temporary
table that is opened, the index file is opened once; the data file is opened once for
MyISAM
columns). A
BLOB
storage engine maintains one extra row buffer for internal use.
MyISAM
columns, a buffer is enlarged dynamically to read in larger
BLOB
statement or
with several memory-leakage detectors (both commercial and Open Source), so
mysqld
tables, you symlink the index file and data files from their usual
MyISAM
Disk Issues
are allocated (where
3 * N
column requires five to eight bytes plus the length of the
BLOB
table_cache
Tables".
mysqladmin flush-tables
FLUSH TABLES
REVOKE
FLUSH
mysqld
Links".
(N MOD
725
Files".
is the maximum row length, not
N
value is allocated.
[498]
system variable. If a table has been
command closes all tables that
does not return until all tables
and
GRANT
CREATE USER
and
statements, so for a server
DROP USER
PRIVILEGES.
uses a lot of memory. This may be
number_of_disks) disk, and so
BLOB
values.
BLOB
statements. This
counts
ps
swap

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the 5.0 and is the answer not in the manual?

Questions and answers

This manual is also suitable for:

Mysql 5.0

Table of Contents