It seems like myisamchk -a is hosing some
statistic in a MyISAM table that gets re-created
and stored permanently as once a query is run that
uses that index, it always runs well until
myisamchk -a is run again even between restarts of
mysqld.  It also seems that key_buffer_size has no
effect on the results.

Can someone explain this to me?

There are a a bunch of tables merged into three
main tables.  The query does a two column join
between the tables, e.g.: a.1=b.1 AND a.2=b.2 AND
b.1=c.1 AND b.3=c.3

--Bill


[root@host /usr/local/mysql-4.0/var]#
../bin/mysqladmin -uroot -p version
../bin/mysqladmin  Ver 8.22 Distrib 4.0.0-alpha,
for pc-linux-gnu on i686
Copyright (C) 2000 MySQL AB & MySQL Finland AB &
TCX DataKonsult AB
This software comes with ABSOLUTELY NO WARRANTY.
This is free software,
and you are welcome to modify and redistribute it
under the GPL license

Server version          4.0.0-alpha-log
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /tmp/mysql-4.0.sock
Uptime:                 7 min 2 sec

Threads: 3  Questions: 103  Slow queries: 0
Opens: 12  Flush tables: 46  Open tables: 3
Queries per second avg: 0.244
[root@host /usr/local/mysql-4.0/var]# uname -a
Linux host.tqs.com 2.2.19 #6 SMP Wed Jul 11
10:55:03 PDT 2001 i686 unknown
[root@host /usr/local/mysql-4.0/var]# vmstat
   procs                      memory
swap          io     system         cpu
 r  b  w   swpd   free   buff  cache  si  so
bi    bo   in    cs  us  sy  id
 2  1  0      4   2612  40752 1450688   0   0
4     3    3     6  10   2   6
[root@host /usr/local/mysql-4.0/var]# ldd
../libexec/mysqld
        librt.so.1 => /lib/librt.so.1 (0x2aac8000)

        libdl.so.2 => /lib/libdl.so.2 (0x2aacc000)

        libpthread.so.0 => /lib/libpthread.so.0
(0x2aad0000)
        libz.so.1 => /usr/lib/libz.so.1
(0x2aae3000)
        libcrypt.so.1 => /lib/libcrypt.so.1
(0x2aaf3000)
        libnsl.so.1 => /lib/libnsl.so.1
(0x2ab20000)
        libstdc++-libc6.1-1.so.2 =>
/usr/lib/libstdc++-libc6.1-1.so.2 (0x2ab36000)
        libm.so.6 => /lib/libm.so.6 (0x2ab78000)
        libc.so.6 => /lib/libc.so.6 (0x2ab95000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2
(0x2aaab000)
[root@host /usr/local/mysql-4.0/var]#


myisamchk -a (on all tables)
set-variable    = key_buffer=32M
Time to start getting results: 127 seconds.
Total Time: 146 seconds (18251 rows, 125 rows/sec
overall)

Run the query again:
Time to start getting results: 11 seconds.
Total Time: 30 seconds (18251 rows, 608 rows/sec)

shutdown mysql
set-variable = key_buffer=1M
start mysql
myisamchk -a (on all tables)
Time to start getting results: 121 seconds.
Total Time: 141 seconds (18251 rows, 129 rows/sec)

Second Run:

Run the query again:
Time to start getting results: 10 seconds.
Total Time: 29 seconds (18251 rows, 629 rows/sec)


Shutdown and restart MySQL.
Note: key_buffer still at 1M
Time to start getting results: 12 seconds.
Total Time: 31 seconds (18251 rows, 588 rows/sec)

Shutdown MySQL
Set key buffer size to 0
start mysql
Time to start getting results: 10 seconds.
Total Time: 29 seconds (18251 rows, 629 rows/sec)

myisamchk -a
Time to start getting results: 145 seconds.
Total Time: 164 seconds (18251 rows, 111 rows/sec)



--
Bill Adams
TriQuint Semiconductor






---------------------------------------------------------------------
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

Reply via email to