�Ż���һ��ӵ���������Ϊ��������Ҫ������ϵͳ�����⡣��������ϵͳ/Ӧ�õ�С֪ʶ��һЩ�ֲ��Ż��ǿ��ܵ�ʱ������Խ��������ϵͳ���Ż���������֪����ҲԽ�ࡣ
���ˣ����½���ͼ���Ͳ������Ż�MySQL�IJ�ͬ������һЩ���ӡ����Ǽ�ס������ijЩ(����)��ϵͳ�����ķ�������ȥ����
Ϊ��ʹһ��ϵͳ����������Ҫ���ֵ�Ȼ�ǻ������ơ���Ҳ��Ҫ֪������ϵͳ�������������飬�Ǿ�������ƿ����
�����ƿ���ǣ�
������ϵͳ���Ķ�����ʼ����Ϊ��Щ���ߵ�ijһЩ�����������ˡ������������£����������ⲿ�ֿ��ܾ��ˣ���Ϊ���Դ��ջ���Ҫ��������һ�������������������ջ��ж����ĸо����Ǻõġ�
ʹ�õ�ȱʡOSȷʵ��Ҫ��Ϊ�������̶ȵ�ʹ�ö�CPU��Ӧ��ʹ��Solaris(��Ϊ�̹߳�����ȷʵ����)��Linux(��Ϊ2.2���ĺ�����ȷʵ������SMP֧��)��������32λ�Ļ����ϣ�Linuxȱʡ��2G���ļ���С���ơ����µ��ļ�ϵͳ���ͳ�ʱ( XFS )��ϣ���ⲻ�ñ�������
��Ϊ����û�ںܶ�ƽ̨����������MySQL�������Ҹ����ڿ���ѡ����ǰ���������������е�ƽ̨��
�������飺
--skip-locking
��MySQLѡ�������ⲿ������ע���⽫��Ӱ��MySQL���ܣ�ֻҪ����������һ���������ϡ�ֻҪ��������myisamchk
��ǰ���ǵ�Ҫͣ��������(���������ز���)����һЩϵͳ������������ǿ�Ƶģ���Ϊ�ⲿ�����������κ������¶�����������MIT-pthreads����ʱ��--skip-locking
ѡ��ȱʡΪ����(on)����Ϊflock()
û�����е�ƽ̨�ϱ�MIT-pthreads����֧�֡�Ψһ����������������ͬһ��������MySQL������(���ǿͻ�)���㲻��ʹ��--skip-locking
֮ʱ��������û��������(flushing)��������mysqld
�������ı�������myisamchk
������Ȼ��ʹ��LOCK
TABLES
/ UNLOCK TABLES
����ʹ������ʹ��--skip-locking
��
���������в�����Linux�ϲ���MySQL�����еģ���������Ӧ�ö���������ϵͳ�������ظ���һЩָʾ��
������-static
����ʱ�����õ������Ŀ�ִ���ļ���ʹ��Unix���ֶ���TCP/IP����һ�����ݿ�Ҳ�ɸ�����һЩ�����ܡ�
��Linux�ϣ�����pgcc
��-O6
����ʱ���㽫�õ������Ĵ��롣Ϊ������Щѡ��������sql_yacc.cc��������Ҫ��Լ200M�ڴ棬��Ϊgcc/pgcc
��Ҫ�ܶ��ڴ�ʹ���к���Ƕ�루inline����������MySQLʱ����ҲӦ���趨CXX=gcc
�Ա�������libstdc++
��(������Ҫ)��
ֻͨ��ʹ��һ���Ϻõı��������Ϻõı�����ѡ���Ӧ�������ܵõ�һ��10-30%�ļ��١��������Լ�����SQL�����������ر���Ҫ��
��Intel�ϣ���Ӧ������ʹ��pgcc��Cygnus CodeFusion�������õ������ٶȡ������Ѿ��������µ� Fujitsu���������������ǻ�û�㹻���������Ż�����MySQL��
����������������һЩ��������
-O6
ʹ��pgcc
���ұ����κζ�����mysqld
�������DZ���gcc
��11%�����ַ���99�İ汾)��
-static
)����������13%��ע��������ʹ��һ����̬���ӵ�MySQL�⡣ֻ�з������������ǹؼ��ġ�
gcc
2.7.3�DZ�Sun Pro C++ 4.2��13%�� ��TcX�ṩ��MySQL-Linux�ķַ���pgcc
���벢��̬���ӡ�
�����Դ����ݿ�Ŀ¼�ƶ��������ݿ�����������ӵ��µص��ķ��Ŵ������ǡ���������Ҫ�����������磬ת��һ�����ݿ�и������пռ���һ���ļ�ϵͳ��
����MySQLע�һ������һ���������ӣ����������������Ӳ���ʹ����ʵ��ָ���ı������ɹ�����֧��realpath()
���õ�����ϵͳ��(����Linux��Solaris֧��realpath()
)���ڲ�֧��realpath()
��ϵͳ�ϣ���Ӧ�ò�ͬʱͨ����ʵ·���ͷ������ӷ��ʱ����������������������κθ��º�һ�¡�
MySQLȱʡ��֧�����ݿ����ӡ�ֻҪ�㲻�����ݿ�֮����һ���������ӣ�һ�н������������ٶ�����MySQL����Ŀ¼����һ�����ݿ�db1
����������һ����������db2
ָ��db1
��
shell> cd /path/to/datadir shell> ln -s db1 db2
���ڣ�����db1
�е���һ��tbl_a
����db2
��Ҳ������һ����tbl_a
������һ���̸߳���db1.tbl_a
������һ���̸߳���db2.tbl_a
���������⡣
������ȷʵ��Ҫ�������������ı���������mysys/mf_format.c���еĴ��룺
if (!lstat(to,&stat_buff)) /* Check if it's a symbolic link */ if (S_ISLNK(stat_buff.st_mode) && realpath(to,buff))
�Ѵ����ı�Ϊ������
if (realpath(to,buff))
���������������õ�mysqld
������ȱʡ��������С��
shell> mysqld --help
������������һ������mysqld
ѡ���Ϳ����ñ����ı�����������ȱʡֵ���ҿ���ȥ������һЩ������
Possible variables for option --set-variable (-O) are: back_log current value: 5 connect_timeout current value: 5 delayed_insert_timeout current value: 300 delayed_insert_limit current value: 100 delayed_queue_size current value: 1000 flush_time current value: 0 interactive_timeout current value: 28800 join_buffer_size current value: 131072 key_buffer_size current value: 1048540 lower_case_table_names current value: 0 long_query_time current value: 10 max_allowed_packet current value: 1048576 max_connections current value: 100 max_connect_errors current value: 10 max_delayed_threads current value: 20 max_heap_table_size current value: 16777216 max_join_size current value: 4294967295 max_sort_length current value: 1024 max_tmp_tables current value: 32 max_write_lock_count current value: 4294967295 net_buffer_length current value: 16384 query_buffer_size current value: 0 record_buffer current value: 131072 sort_buffer current value: 2097116 table_cache current value: 64 thread_concurrency current value: 10 tmp_table_size current value: 1048576 thread_stack current value: 131072 wait_timeout current value: 28800
������һ��mysqld
�������������У�ͨ��ִ��������������Կ�����ʵ����ʹ�õı�����ֵ��
shell> mysqladmin variables
ÿ��ѡ�����������������ڻ�������С�����Ⱥ�ջ��С��ֵ���ֽڸ������������ڸ�����K������M��
ָ����K�ֽڻ����ֽ���ʾֵ�����磬16M
ָ��16���ֽڡ�����ĸ�Ĵ�Сдû�й�ϵ��16M
��16m
����ͬ�ġ�
��Ҳ����������SHOW STATUS
��һ�����еķ���������һЩͳ�ơ���7.21 SHOW
�(�õ������е���Ϣ)��
back_log
back_log
ֵָ����MySQL��ʱֹͣ�ش�������֮ǰ�Ķ�ʱ���ڶ��ٸ��������Ա����ڶ�ջ�С�ֻ������������һ����ʱ�����кܶ����ӣ�����Ҫ�����������仰˵����ֵ�Ե�����TCP/IP���ӵ��������еĴ�С�����IJ���ϵͳ���������д�С�������Լ������ơ�
Unix listen(2)
ϵͳ���õ��ֲ�ҳӦ���и�����ϸ�ڡ���������OS�ĵ��ҳ���������������ֵ����ͼ�趨back_log
�������IJ���ϵͳ�����ƽ�����Ч�ġ�
connect_timeout
mysqld
����������Bad handshake
�����������֣�Ӧ��ǰ���ڵȴ�һ�����ӱ��ĵ�������
delayed_insert_timeout
INSERT DELAYED
�߳�Ӧ������ֹ֮ǰ�ȴ�INSERT
������ʱ�䡣
delayed_insert_limit
delayed_insert_limit
���INSERT DELAYED
�������������Ƿ����κ�SELECT
����δִ�С������������ڼ���ǰִ��������Щ���䡣
delayed_queue_size
INSERT DELAYED
��������һ������(������)�������Ŷ����ˣ��κν���INSERT
DELAYED
�Ŀͻ����ȴ�ֱ���������пռ��ˡ� flush_time
flush_time
�����б������ر�(���ͷ���Դ��sync������)��
interactive_timeout
mysql_real_connect()
ʹ��CLIENT_INTERACTIVE
ѡ���Ŀͻ���Ҳ�ɼ�wait_timeout
��
join_buffer_size
key_buffer_size
key_buffer_size
�������������Ļ�������С���������ɵõ����ô���������(�����ж��Ͷ���д)�������ܸ������������ࡣ������ʹ��̫����ϵͳ����ʼ��ҳ�������ı����ˡ���ס��ȻMySQL��������ȡ�����ݣ��㽫����ΪOS�ļ�ϵͳ��������һЩ�ռ䡣Ϊ����д��������ʱ�õ��������ٶȣ�ʹ��LOCK
TABLES
����7.24LOCK
TABLES/UNLOCK TABLES
��� long_query_time
Slow_queries
�������������ӡ�
max_allowed_packet
net_buffer_length
�ֽڣ����ǿ�����Ҫʱ���ӵ�max_allowed_packet
���ֽڡ�ȱʡ�أ���ֵ̫С���ܲ�����(���ܴ���)��������������ʹ�ô���BLOB
�У����������Ӹ�ֵ����Ӧ��������Ҫʹ�õ�����BLOB
������
max_connections
mysqld
Ҫ�����ļ������������������������ļ����������Ƶ�ע�͡���18.2.4 Too many connections
������
max_connect_errors
FLUSH
HOSTS
������ͨһ̨������ max_delayed_threads
INSERT DELAYED
���䡣��������ͼ������INSERT
DELAYED
�߳����ú���һ���±��������ݣ��н������룬����DELAYED
����û��ָ��������
max_join_size
max_join_size
����¼�����Ὣ����һ�����������������û���Ҫִ��û��һ��WHERE
�Ӿ䡢���ܳ�ʱ�䲢�ҷ��ذ����е����ᣬ��������
max_sort_length
BLOB
��TEXT
ֵʱʹ�õ��ֽ���(ÿ��ֵ��ͷmax_sort_length
���ֽڱ�ʹ�ã������ı�����)��
max_tmp_tables
net_buffer_length
max_allowed_packet
���ֽڡ���record_buffer
sort_buffer
ORDER
BY
��GROUP BY
��������18.5 MySQL���Ķ��洢��ʱ�ļ��� table_cache
mysqld
Ҫ�����ļ���������������MySQL��ÿ��Ψһ�ı���Ҫ2���ļ������������������ļ����������Ƶ�ע�͡����ڱ��������ι�������Ϣ����10.2.4 MySQL�����رձ��� tmp_table_size
The table
tbl_name is full
��ʽ�Ĵ��������������ܶ���GROUP BY
��ѯ������tmp_table_size
ֵ��
thread_stack
crash-me
���Լ�����������������ڸ�ֵ��ȱʡ��һ���IJ������㹻���ˡ���10.8 ʹ�����Լ��Ļ��� wait_timeout
interactive_timeout
��
MySQLʹ���Ǻܾ������Ե��㷨��������ͨ�����ú��ٵ��ڴ����л���MySQL�����ı����Եõ����õ����ܡ�
�������кܶ��ڴ��ͺܶ���������һ���е������Ŀͻ�����Ҫ���������ܣ���Ӧ��һЩ�������Ķ�����
shell> safe_mysqld -O key_buffer=16M -O table_cache=128 \ -O sort_buffer=4M -O record_buffer=1M & �������н��ٵ��ڴ��ʹ��������ӣ�ʹ������һЩ������
shell> safe_mysqld -O key_buffer=512k -O sort_buffer=100k \ -O record_buffer=100k &
��������
shell> safe_mysqld -O key_buffer=512k -O sort_buffer=16k \ -O table_cache=32 -O record_buffer=8k -O net_buffer=1K &
�����кܶ����ӣ����������⡱���ܷ���������mysqld
�Ѿ�������ÿ������ʹ�ú��ٵ��ڴ档��Ȼ�������������������㹻���ڴ棬mysqld
ִ�еø��á�
ע�⣬�������ı�mysqld
��һ��ѡ���ʵ����ֻ�Է��������Ǹ����ӱ��֡�
Ϊ������һ�������仯��Ч������������
shell> mysqld -O key_buffer=32m --help
��֤--help
ѡ��������һ����������������������֮���г����κ�ѡ����Ч�������ڷ�ӳ�������С�
table_cache
, max_connections
��max_tmp_tables
Ӱ�����������ִ��ļ�������������������������Щֵ��һ�����������������������IJ���ϵͳÿ�����̴����ļ���������������ǿ�ӵ����ơ�Ȼ������������������ϵͳ�����Ӹ����ơ���������OS�ĵ��ҳ���������Щ����Ϊ�ı����Ƶķ�����ϵͳ�кܴ��IJ�ͬ��
table_cache
��max_connections
�йء����磬����200�������ӣ���Ӧ����һ�ű��Ļ���������200
* n
������n
��һ������(join)�б�������������
���Ļ����������ӵ�һ��table_cache
������ֵ��ȱʡΪ64����������mysqld
��-O
table_cache=#
ѡ�����ı䣩��һ�������Բ����رգ����ǵ��������˲�������һ���߳���ͼ����һ����ʱ��������ʹ��mysqladmin
refresh
��mysqladmin flush-tables
��
����������ʱ��������ʹ�����й����ҵ�һ������������ʹ�ã�
��ÿ��������ȡ����һ����������ζ�ţ���������2���̴߳�ȡͬһ��������ͬһ����ѯ�д�ȡ������(��AS
)������Ҫ���������Ρ��κα��ĵ�һ�δ���ռ2���ļ�������������ÿһ�ζ���ʹ�ý�ռһ���ļ������������ڵ�һ�δĶ������������������ļ��������������������߳�֮�乲����
��������һ��Ŀ¼���������ļ������رպʹ�����������������������ִ�������ͬ���ϵ�SELECT
���䣬����������ʱ������һ�㿪������Ϊ��ÿ�������ı�������һ�����뱻�رա�������ͨ��ʹ����������Щ����������������
��������mysqladmin status
ʱ���㽫������������һЩ������
Uptime: 426 Running threads: 1 Questions: 11082 Reloads: 1 Open tables: 12
����������6�����������������������
MySQL�Ƕ��̵߳ģ�����������ͬʱ��ͬһ������������ѯ�ʡ�Ϊ����2���߳���ͬһ���ļ����в�ͬ״̬������������С������ÿ���������̶����ش���Ϊ�����ļ�����һЩ�ڴ���һ���������ļ��������������ļ��������������߳�֮�乲����
�±�ָ��mysqld
������ʹ�ô洢����һЩ��ʽ����Ӧ�õĵط����������洢��ʹ�����صķ��������������֡�
key_buffer_size
)�������̷߳���������Ҫʱ������������ʹ�õ���������������10.2.3 ���ڷ�����������thread_stack
)��һ�����ӻ�����(����net_buffer_length
)��һ������������(����net_buffer_length
)������Ҫʱ�����ӻ������ͽ�����������̬�ر�������max_allowed_packet
����һ����ѯ�������е�ǰ��ѯ��һ������ʱ��Ҳ�����ַ�����
record_buffer
)��
BLOB
�еı��ڴ����ϴ洢����MySQL�汾3.23.2ǰһ������������һ��HEAP������tmp_table_size
�Ĵ�С�����õ�����The
table tbl_name is full
���ڸ��µİ汾�У���ͨ����Ҫʱ�Զ������ڴ���(HEAP)��ת��Ϊһ�����ڴ���(MyISAM)�ı���������Ϊ�˽����������⣬������ͨ������mysqld
��tmp_table_size
ѡ���ͨ���ڿͻ�����������SQL��SQL_BIG_TABLES
ѡ��������ʱ���Ĵ�С����7.25 SET OPTION
�䷨����MySQL
3.20�У���ʱ���������ߴ���record_buffer*16
����������������ʹ�������汾������������record_buffer
ֵ����Ҳ����ʹ��--big-tables
ѡ������mysqld
���ܽ���ʱ���洢�ڴ����ϣ�Ȼ�����⽫Ӱ�����ิ�Ӳ�ѯ���ٶȡ�
malloc()
��free()
����)��
3
* n
��һ��������(����n
���������г��ȣ�����BLOB
��)��һ��BLOB
ʹ��5
�� 8���ֽڼ���BLOB
���ݡ� BLOB
�еı���һ����������̬�ر������Ա�����������BLOB
ֵ��������ɨ��һ����������������BLOB
ֵһ������һ����������
mysqladmin flush-tables
�����ر����в����õı����ڵ�ǰִ�е��߳̽���ʱ�������������õı������رա��⽫��Ч���ͷŴ��������õ��ڴ档
ps
������ϵͳ״̬�������Ա���mysqld
ʹ�úܶ��ڴ档���������ڲ�ͬ���ڴ���ַ�ϵ��߳�ջ���ɵġ����磬Solaris�汾��ps
��ջ��δ�õ��ڴ��������õ��ڴ档������ͨ����swap
-s
�������ý���������֤������������ҵ�ڴ�©��̽����������mysqld
������Ӧ����û���ڴ�©����
MySQL���������������������ġ���ͨ��������һ����ѯǰ�����������б�Ҫ����������������ͬ����˳����������������
��WRITE
��MySQLʹ�õ���������ԭ�����£�
��READ
��MySQLʹ�õ���������ԭ�����£�
��һ���������ͷ�ʱ�������ɱ�д���������е��̵߳õ���Ȼ���Ƕ����������е��̡߳�
����ζ�ţ���������һ���������������ģ�SELECT
���佫�ȴ�ֱ����û�и����ĸ��ġ�
Ϊ�˽�����һ�����н��кܶ�INSERT
��SELECT
������������������һ����ʱ���в����в���ż����������ʱ���ļ�¼���������ı���
�����������������
mysql> LOCK TABLES real_table WRITE, insert_table WRITE; mysql> insert into real_table select * from insert_table; mysql> delete from insert_table; mysql> UNLOCK TABLES;
��������һЩ�ض��������������ּ��������ȴ�����������ʹ��LOW_PRIORITY
ѡ����INSERT
����7.14 INSERT
�䷨��
��Ҳ�ܸı�����mysys/thr_lock.c���е���������ʹ��һ���������С������������£�д�����Ͷ���������ͬ�����ȼ��������ܰ���һЩӦ�ó�����
MySQL�ı����������Dz��������ġ�
MySQLʹ�ñ�������(�������м��������м�����)�Դﵽ�ܸߵ������ٶȡ����ڴ��������������Դ�����Ӧ�ó�����˵���м�������һЩ�����ǵ�Ȼ��һЩȱ�ݡ�
��MySQL3.23.7���߰汾�У�һ�����ܰ��в��뵽MyISAM
��ͬʱ�����߳����ڶ��ñ���ע�⣬Ŀǰֻ���ڱ�������ɾ������ʱ�Ź�����
��������ʹ�ܶ��߳��ܹ�ͬʱ��һ��������������һ���߳���Ҫдһ���������������ȵõ���ռ��ȡȨ���ڸ����ڼ䣬����������Ҫ��ȡ���ض������߳̽��ȵ����ľ�����
��Ϊ���ݿ��ĸ���ͨ������Ϊ��SELECT
����Ҫ������һ���������������ȴ�һ�����м�����Ϣ�������и��ߵ����ȼ�����Ӧ�ñ�֤���IJ���������������Ϊһ��������һ���ض����ᷢ���ܶ�صIJ�ѯ��
��MySQL 3.23.7��ʼ��һ���˿�����ʹ��max_write_lock_count
����ǿ��MySQL��һ������һ���ض������IJ�����һ��SELECT
��
�Դ�һ����Ҫ���������£�
SELECT
�� UPDATE
�������ͻ����ȴ�ֱ��SELECT
���ɡ�SELECT
���䣻��ΪUPDATE
��SELECT
�и��ߵ����ȼ�����SELECT
���ȴ�UPDATE
�����ɡ���Ҳ���ȴ���һ��SELECT
���ɣ�
������������һЩ���ܵĽ��������ǣ�
SELECT
�������еø��죻�����ܱ��봴��һЩժҪ(summary)���������㡣
--low-priority-updates
����mysqld
���⽫�����и���(��)һ�����������Ա�SELECT
�����͵����ȼ��������������£�����ǰ���ε�������SELECT
���佫��INSERT
����ǰִ�С�
LOW_PRIORITY
���Ը���һ���ض���INSERT
��UPDATE
��DELETE
�����ϵ����ȼ���
mysqld
ʹ����һ��������WRITE
����������READ
������
SET SQL_LOW_PRIORITY_UPDATES=1
�����ɴ�һ���ض��߳�ָ�����еĸ���Ӧ�����õ����ȼ����ɡ���7.25 SET OPTION
�䷨�� HIGH_PRIORITY
����ָ��һ���ض�SELECT
�Ǻ���Ҫ�ġ���7.12 SELECT
�䷨�� INSERT
����SELECT
�����⣬�л���ʹ���µ�MyISAM
������Ϊ����֧�ֲ�����SELECT
��INSERT
��
INSERT
��SELECT
���䣬DELAYED
������INSERT
�����ܽ����������⡣��7.14 INSERT
�䷨�� SELECT
��DELETE
�����⣬LIMIT
ѡ����DELETE
�������㡣��7.11 DELETE
�䷨�� ���������Ż�֮һ��ʹ��������(������)�ڴ�����(�������ڴ���)ռ�ݵĿռ価����С�����ܸ������ĸĽ�����Ϊ���̶����Ͽ첢��ͨ��Ҳ�ý��ٵ����洢���������ڸ�С������������������Ҳռ�ݽ��ٵ���Դ��
�����������ļ���ʹ�������ܸ��ò���ʹ�洢�ռ���С��
MEDIUMINT
������INT
��һЩ��
NOT NULL
����ʹ�κ���������������Ϊÿ�н�ʡһλ��ע������������Ӧ�ó�������ȷʵ��ҪNULL
����Ӧ�ú�������ʹ������ֻ�DZ���ȱʡ������������������VARCHAR
��TEXT
��BLOB
��)��ʹ�ù̶��ߴ��ļ�¼��ʽ�����ȽϿ쵫�Dz��ҵؿ��ܻ��˷�һЩ�ռ䡣��10.6 ѡ��һ�ֱ������� ���������������ҳ���һ��������һ�ض�ֵ���С�û��������MySQL���ò������Ե�һ����¼��ʼ��Ȼ������������ֱ�����ҳ����ص��С���Խ����ʱ��Խ�ࡣ���������ڲ�ѯ������һ��������MySQL�ܿ��ٵ���һ��λ��ȥ��Ѱ�������ļ����м䣬û�б�Ҫ�����������ݡ�����һ������1000�У�����˳����ȡ���ٿ�100����ע������Ҫ��ȡ��������1000�У����Ͽ���˳����ȡ����Ϊ��ʱ���DZ�������Ѱ����
���е�MySQL����(PRIMARY
��UNIQUE
��INDEX
)��B���д洢���ַ������Զ���ѹ��ǰ�ͽ�β�ռ䡣��7.27 CREATE INDEX
�䷨��
�������ڣ�
WHERE
�Ӿ����С� MAX()
��MIN()
ֵ�� ORDER
BY key_part_1,key_part_2
)������������һ�������������м�ֵ���ָ���DESC
�����Ե���ȡ��
�ٶ��㷢������SELECT
���䣺
mysql> SELECT * FROM tbl_name WHERE col1=val1 AND col2=val2;
����һ����������������col1
��col2
�ϣ��ʵ����п���ֱ�ӱ�ȡ���������ֿ��ĵ���������������col1
��col2
�ϣ��Ż�����ͼͨ�������ĸ��������ҵ����ٵ��в����ҳ����������Ե���������ʹ�ø�����ȡ�С�
��������һ�������������κ�������������ǰ�ܱ��Ż���ʹ�����ҳ��С����磬��������һ��3��������(col1,col2,col3)
�����Ѿ���������(col1)
��(col1,col2)
��(col1,col2,col3)
�ϵ�����������
�����в�����������������ǰ��MySQL����ʹ��һ�����ֵ��������ٶ���������ʾ��SELECT
���䣺
mysql> SELECT * FROM tbl_name WHERE col1=val1; mysql> SELECT * FROM tbl_name WHERE col2=val2; mysql> SELECT * FROM tbl_name WHERE col2=val2 AND col3=val3;
����һ������������(col1��col2��col3)
�ϣ�ֻ��������ʾ�ĵ�һ����ѯʹ���������ڶ����͵�������ѯȷʵ�����������У�����(col2)
��(col2��col3)
����(col1��col2��col3)
��������ǰ��
����LIKE
������һ������һ��ͨ�����ַ���ʼ��һ�������ַ�����MySQLҲΪLIKE
�Ƚ�ʹ�����������磬����SELECT
����ʹ��������
mysql> select * from tbl_name where key_col LIKE "Patrick%"; mysql> select * from tbl_name where key_col LIKE "Pat%_ck%";
�ڵ�һ�������У�ֻ������"Patrick" <= key_col <
"Patricl"
���С��ڵڶ��������У�ֻ������"Pat"
<= key_col < "Pau"
����
����SELECT
���佫��ʹ��������
mysql> select * from tbl_name where key_col LIKE "%Patrick%"; mysql> select * from tbl_name where key_col LIKE other_col;
�ڵ�һ�������У�LIKE
ֵ��һ��ͨ�����ַ���ʼ���ڵڶ��������У�LIKE
ֵ����һ��������
���� column_name ��һ��������ʹ��column_name
IS NULL
��������ʹ��������
MySQLͨ��ʹ���ҳ������������е�������һ�������������������в��������Ƚϵ��У�=
��>
��>=
��<
��<=
��BETWEEN
��һ����һ����ͨ����ǰ��'something%'
��LIKE
����
�κβ���Խ����WHERE
�Ӿ�������AND
���ε������������Ż�ѯ�ʡ�
����WHERE
�Ӿ�ʹ��������
... WHERE index_part1=1 AND index_part2=2 ... WHERE index=1 OR A=10 AND index=2 /* index = 1 OR index = 2 */ ... WHERE index_part1='hello' AND index_part_3=5 /* optimized like "index_part1='hello'" */
��ЩWHERE
�Ӿ���ʹ��������
... WHERE index_part2=1 AND index_part3=2 /* index_part_1 is not used */ ... WHERE index=1 OR A=10 /* No index */ ... WHERE index_part1=1 OR index_part2=10 /* No index spans all rows */
���ȣ�һ������Ӱ�����е�ѯ�ʡ����е�����ϵͳ����Խ���ӣ����õ������Ŀ�����
�����㲻���κ�GRANT
����ִ�У�MySQL�����Ż����ɼ��顣�����������кܴ�����ֵ�û�ʱ����������Ȩ���������������ɼ����и����Ŀ�����
����������������һЩ���Ե�MySQL�����йأ���������MySQL�ͻ��м�����ʱ�䣺
mysql> select benchmark(1000000,1+1); +------------------------+ | benchmark(1000000,1+1) | +------------------------+ | 0 | +------------------------+ 1 row in set (0.32 sec)
������ʾMySQL����PentiumII 400MHz
����0.32��ִ��1,000,000��+
����ʽ��
����MySQL����Ӧ�ñ��߶��Ż��������Կ�����һЩ���Ⲣ��benchmark(loop_count,expression)
���ҳ��Ƿ����IJ�ѯ��������һ�����ù��ߡ�
�ڴ����������£�����ͨ����������Ѱ���������ܡ���С�ı�����ͨ������1�δ���Ѱ�����ҵ���(��Ϊ�����������ܱ�����)���Ը����ı������ܹ�����(ʹ��
B++ ������)���㽫��Ҫ��log(row_count)/log(index_block_length/3*2/(index_length
+ data_pointer_length))+1
��Ѱ���ҵ��С�
��MySQL�У�������ͨ����1024���ֽ�������ָ��ͨ����4���ֽڣ�����һ����һ����������Ϊ3(�е�����)��
500,000 �еı����㣺log(500,000)/log(1024/3*2/(3+4)) + 1
= 4
��Ѱ����
��������������Ҫ����Լ 500,000 * 7 * 3/2 = 5.2M��(����������������������2/3(���ǵ��͵�))���㽫�������ڴ����������Ĵֲ����㽫���ܽ���Ҫ1-2���ô�OS���������ҳ��С�
Ȼ������д���㽫��Ҫ 4 ��Ѱ������(����)���ҵ����Ķ���������������ͨ����2��Ѱ������������������д���С�
ע�⣬��������ζ������Ӧ�ó��������� N log N �˻������������ø���ʱ��ֻҪһ�б�OS��SQL���������壬���齫�����������ٵظ����������ݱ���̫�����ܱ������������齫��ʼ���ø���ֱ������Ӧ�ó��������ܴ���Ѱ������(����N log N����)��Ϊ�˱����������ӣ������������������Ӷ����ӡ���10.2.3 ���ڷ�����������
SELECT
��ѯ���ٶ��ܵ���˵��������Ҫʹһ��������SELECT ... WHERE
���죬�����ĵ�һ�����������Ƿ�������һ����������10.4 MySQL ������ʹ�����ڲ�ͬ��֮������������ͨ��Ӧ�����������ɡ�������ʹ��EXPLAIN
��ȷ���ĸ���������һ��SELECT
���䡣��7.22 EXPLAIN
�䷨(�õ�����һ��SELECT
����Ϣ)��
һЩһ���Ľ��飺
myisamchk
--analyze
����Ϊÿһ������һ��ֵ��ָ������ֵͬ��ƽ����������Ȼ����Ψһ������������1����myisamchk --sort-index
--sort-records=1
����������Ҫ������1������)����������һ��Ψһ����������Ҫ���ݸ������ش�����ȡ���еļ�¼������ʹ��������һ���÷�����Ȼ��ע�⣬��������û�б����ѵر�д�����Ҷ�һ�����������ܳ�ʱ�䣡
WHERE
�Ӿ�where�Ż�������SELECT
�У���Ϊ��������Ҫ������ʹ�������ͬ�����Ż�������DELETE
��UPDATE
���䡣
ҲҪע�⣬�����Dz���ȫ�ġ�MySQLȷʵ���������Ż�������û��ʱ��ȫ����¼���ǡ�
��MySQLʵʩ��һЩ�Ż��������棺
((a AND b) AND c OR (((a AND b) AND (c AND d)))) -> (a AND b AND c) OR (a AND b AND c AND d)
(a<b AND b=c) AND a=5 -> b>5 AND b=c AND a=5
(B>=5 AND B=5) OR (B=6 AND 5=5) OR (B=7 AND 5=6) -> B=5 OR B=6
WHERE
��COUNT(*)
ֱ�Ӵӱ��м�����Ϣ������ʹ��һ����ʱ�����κ�NOT
NULL
����ʽҲ�������� SELECT
�����Dz����ܵIJ��Ҳ������С�
GROUP BY
�����麯��(COUNT()
��MIN()
����)��HAVING
��WHERE
�ϲ���WHERE
�Եõ�һ��������WHERE
���㲢��Ҳ����������¼��
UNIQUE
��������һ��PRIMARY KEY
��WHERE
�Ӿ�һ��ʹ�õı����������е���������ʹ��һ����������ʽ�����������ֱ�����ΪNOT
NULL
�� �������еı�������������
mysql> SELECT * FROM t WHERE primary_key=1; mysql> SELECT * FROM t1,t2 WHERE t1.primary_key=1 AND t2.primary_key=t1.id;
ORDER
BY
��GROUP BY
��������ͬһ��������ô������ʱ���ñ����ȱ�ѡ�С�
ORDER BY
�Ӿ���һ����ͬ��GROUP BY
�Ӿ䣬������ORDER
BY
��GROUP BY
���������������������еĵ�һ���������������У�����һ����ʱ����
SQL_SMALL_RESULT
��MySQL��ʹ��һ�����ڴ��еı���
DISTINCT
���任�������е����ϵ�һ��GROUP BY
��DISTINCT
��ORDER
BY
����Ҳ����������������Ҫһ����ʱ���� HAVING
�Ӿ����б�������
������һЩ�ܿ��IJ�ѯ���ӣ�
mysql> SELECT COUNT(*) FROM tbl_name; mysql> SELECT MIN(key_part1),MAX(key_part1) FROM tbl_name; mysql> SELECT MAX(key_part2) FROM tbl_name WHERE key_part_1=constant; mysql> SELECT ... FROM tbl_name ORDER BY key_part1,key_part2,... LIMIT 10; mysql> SELECT ... FROM tbl_name ORDER BY key_part1 DESC,key_part2 DESC,... LIMIT 10;
���в�ѯ��ʹ���������Ϳɽ���(���������������ֵ�)��
mysql> SELECT key_part1,key_part2 FROM tbl_name WHERE key_part1=val; mysql> SELECT COUNT(*) FROM tbl_name WHERE key_part1=val1 AND key_part2=val2; mysql> SELECT key_part2 FROM tbl_name GROUP BY key_part1;
���в�ѯʹ������������˳������������һ��������������
mysql> SELECT ... FROM tbl_name ORDER BY key_part1,key_part2,... mysql> SELECT ... FROM tbl_name ORDER BY key_part1 DESC,key_part2 DESC,...
LEFT JOIN
��MySQL��A LEFT JOIN B
ʵ�����£�
B
������Ϊ�����ڱ�A
�� A
��������������������LEFT JOIN
�����ı�(��B
��)��
LEFT JOIN
�������Ƶ�WHERE
�Ӿ��С� WHERE
�Ż��� A
����һ��ƥ��WHERE
�Ӿ䣬������B
��û���κ���ƥ��LEFT
JOIN
��������ô��B
����������������ΪNULL
��һ�С�
LEFT JOIN
���ҳ���ijЩ���в����ڵ��в�����WHERE
�����������в��ԣ�column_name
IS NULL
������column_name ������ΪNOT NULL
���У���ôMySQL
�����Ѿ��ҵ���ƥ��LEFT
JOIN
������һ�к�ֹͣ�ڸ������к�Ѱ��(��һ�ض��ļ�����)��
LIMIT
��һЩ�����У�����ʹ��LIMIT #
����ʹ��HAVING
ʱ��MySQL���Բ�ͬ��ʽ������ѯ��
LIMIT
ֻѡ��һЩ�У���MySQLһ���Ƚ�ϲ���������ı�ɨ��ʱ��������һЩ������ʹ��������
LIMIT #
��ORDER BY
��MySQLһ���ҵ��˵�һ��
#
������������������������������ LIMIT #
��DISTINCT
ʱ��MySQLһ���ҵ�#
��Ψһ���У�����ֹͣ��
GROUP BY
��ͨ��˳����ȡ��(���ڼ���������)����������Ȼ������ժҪֱ����ֵ�ı䡣�����������£�LIMIT
#
���������κβ���Ҫ��GROUP
�� MySQL
�Ѿ������˵�һ��#
�е��ͻ�������������ѯ��
LIMIT 0
�����ǿ��ٷ���һ���ռ��ϡ����Լ�����ѯ���ҵõ������е������������õġ�
LIMIT #
������Ҫ���ٿռ���������ѯ�� INSERT
��ѯ���ٶ�����һ����¼��ʱ�����������ɣ�
�����������е�������ʱ�������ȡ��ⲻ���Ǵ��ij�ʼ����(��Ϊÿ���������еIJ�ѯ��һ��)��
���Ĵ�С��N log N (B ��)���ٶȼ��������IJ��롣
�ӿ�������һЩ������
INSERT
���䡣����ʹ�÷ֿ�INSERT
������(��һЩ�����м���)��INSERT DELAYED
�����õ����ߵ��ٶȡ���7.14 INSERT
�䷨�� MyISAM
�������ڱ���û��ɾ�����У�����SELECT
:s�������е�ͬʱ�����С�
LOAD DATA INFILE
����ͨ����ʹ�úܶ�INSERT
������20������7.16 LOAD DATA INFILE
�䷨�� LOAD DATA INFILE
����Щ��ʹ�����й��̣�
CREATE TABLE
������������ʹ��mysql
��Perl-DBI��
FLUSH TABLES
������������mysqladmin flush-tables
��
myisamchk --keys-used=0 -rq /path/to/db/tbl_name
���⽫�ӱ���ɾ������������ʹ�á�
LOAD DATA INFILE
�����ݲ��뵽���У��⽫�������κ����������˺ܿ졣myisampack
������Ҫѹ������������������myisampack
����10.6.3 ѹ������������ myisamchk -r -q /path/to/db/tbl_name
�ٴ����������⽫�ڽ���д������ǰ���ڴ��д��������������������죬��Ϊ������������Ѱ��������������Ҳ��������ƽ�⡣
FLUSH TABLES
������������mysqladmin flush-tables
���������̽�����������MySQL��ij��δ���汾��LOAD DATA INFILE
��
mysql> LOCK TABLES a WRITE; mysql> INSERT INTO a VALUES (1,23),(2,34),(4,33); mysql> INSERT INTO a VALUES (8,26),(6,29); mysql> UNLOCK TABLES;
��Ҫ���ٶȲ���������������������ϴ��������һ�Σ�������INSERT
�������ɺ���һ�������в�ͬ��INSERT
������������������������ϴ������������һ�����������������е��У������Ͳ���Ҫ������Ҳ�����Ͷ����Ӳ��Ե�����ʱ�䣬���Ƕ�ijЩ�߳������ȴ�ʱ�佫����(��Ϊ���ǵȴ���)�����磺
thread 1 does 1000 inserts thread 2, 3, and 4 does 1 insert thread 5 does 1000 inserts
�����㲻ʹ��������2��3��4����1��5ǰ���ɡ�������ʹ��������2��3��4�����ܲ���1��5ǰ���ɣ���������ʱ��Ӧ�ÿ���Լ40%����ΪINSERT
,
UPDATE
��DELETE
������MySQL���Ǻܿ��ģ�ͨ��Ϊ���ڴ�Լ5���������ϵز���������һ�еĶ����������㽫���ø��õ��������ܡ����������ܶ�һ�еIJ��룬��������һ��LOCK
TABLES
��ż��������һ��UNLOCK TABLES
(��Լÿ1000��)�������������̴߳�ȡ��������Ȼ�����»��úõ����ܡ���Ȼ��LOAD
DATA INFILE
��װ��������Ȼ�Ǹ����ġ�
Ϊ�˶�LOAD DATA INFILE
��INSERT
�õ�һЩ�������ٶȣ������ؼ��ֻ���������10.2.3 ���ڷ�����������
UPDATE
��ѯ���ٶ����IJ�ѯ���Ż�Ϊ��һ��д������һ��SELECT
��ѯ��д�ٶ������ڱ��������ݴ�С�ͱ�����������������
ʹ���ĸ�������һ���������Ƴٸ��IJ���Ȼ��һ��һ�е����ܶ����ġ�����������������һ��һ�еغܶ����ı�һ����һ���졣
ע�⣬��̬��¼��ʽ�ĸ���һ���ϳ��ܳ��ļ�¼�������п���¼�����������㾭����������ʱ��ʱ��OPTIMIZE
TABLE
�Ƿdz���Ҫ�ġ���7.9
OPTIMIZE TABLE
�䷨��
DELETE
��ѯ���ٶ�ɾ��һ����¼��ʱ�侫ȷ�����������������ȡ�Ϊ�˸����ٵ�ɾ����¼���������������������Ĵ�С����10.2.3 ���ڷ�����������
��һ����ɾ�������б�ɾ���е�һ��ҲҪ�öࡣ
��MySQL����ǰ(�汾 3.23.5)���ܴ�һ���ٶȹ۵���4���ñ��ĸ�ʽ֮��ѡ����
myisamchk
�ܺ�����ָ��ÿ�����Ķ���ʼ�ͽ�����������ͨ���ܻ������м�¼�����˲��ֱ�д�����Ǹ���ע�⣬��MySQL�У������������ܱ��ؽ���OPTIMIZE
table
��myisamchk
����һ�ű�����������ͬһ����������ijЩVARCHAR
��BLOB
��������ȡ/�ı��ľ�̬���ݣ�����̬����������һ�����Ա�����Ƭ������һ�������⡣
myisampack
�������ɡ� SELECT tab1.a, tab3.a FROM tab1, tab2, tab3 WHERE tab1.a = tab2.a and tab2.a = tab3.a and tab2.c != 0;
Ϊ�˼����������ǿ���tab2��tab3�����ᴴ��һ����ʱ������Ϊ����ͬ��( tab1.a )���ҡ������Ǵ����ñ��ͽ���ѡ�������
CREATE TEMPORARY TABLE test TYPE=HEAP SELECT tab2.a as a2, tab3.a as a3 FROM tab2, tab3 WHERE tab2.a = tab3.a and c = 0; SELECT tab1.a, test.a3 from tab1, test where tab1.a = test.a1; SELECT tab1.b, test.a3 from tab1, test where tab1.a = test.a1 and something;
VARCHAR
��BLOB
��TEXT
��ʱ����
CHAR
��NUMERIC
��DECIMAL
�г���п��ȡ�
myisamchk
)������һ�������ļ�¼��ɾ����������Ҫ�黹���д��̿ռ�������ϵͳ��
VARCHAR
��BLOB
��TEXT
�У�ʹ�øø�ʽ��
''
)�������������ĸ�����(�ⲻͬ�ڰ���NULL
ֵ����)�������ַ�������ɾ��β���հ����㳤�ȣ�������������ֵ������λͼ�б��Dz��Ҳ����浽�����ϡ��ǿ��ַ����洢Ϊһ�������ֽڼ��ַ������ݡ�
myisamchk
-r
��ʹ���ܸ��á�ʹ��myisamchk -ei tbl_name
��һЩͳ�ơ�3 + (number of columns + 7) / 8 + (number of char columns) + packed size of numeric columns + length of strings + (number of NULL columns + 7) / 8
��ÿ��������6���ֽڵijͷ������ۺ�ʱ����������¼��������һ����̬��¼�����ӡ�ÿ�������ӽ�������20���ֽڣ�������һ��������ͬһ�����С��������ǣ���������һ�����ӡ���������myisamchk
-ed
�����ж������ӡ����е����ӿ����� myisamchk -r
ɾ����
myisampack
ʵ�ó���������ֻ���������о���MySQL��չ�����ʼ�֧�ֵĿͻ�����Ϊ���ڲ�ʹ�ñ���һ��myisampack
������
myisampack
�Ŀͻ��ܶ�ȡ��myisampack
ѹ���ı���0
������ʹ��1λ�洢��0
��255
�ķ�Χ��һ��BIGINT
��(8���ֽ�)������Ϊһ��TINYINT
��(1�ֽ�)�洢��ENUM
�� BLOB
��TEXT
�С�myisamchk
��ѹ����MySQL��֧�ֲ�ͬ���������ͣ�����һ����������ISAM������һ��B�������������ܴ��Ե�Ϊ�����ļ�������СΪ(key_length+4)*0.67
�������еļ��ϵ��ܺ͡������Ƕ�������������м�������˳����ʱ����
�ַ��������ǿհ�ѹ���ġ�������һ������������һ���ַ�������Ҳ��ѹ��ǰ�������ַ������кܶ�β���հ���һ���ܲ����õ�ȫ����VARCHAR
�У��հ�ѹ��ʹ�����ļ���С�������ܶ��ַ�������ͬ��ǰ��ǰѹ�����а����ġ�
�����ӽ��������ڴ��У���������mysqld
���ص������������ǽ���ʧ��������Ϊ���������죬�����������������õġ�
MySQL�ڲ���HEAP��ʹ��û����������100%��̬��ϣ����û����ɾ���йص����⡣
��ֻ��ͨ��ʹ���ڶѱ��е�һ���������õ�ʽ��ȡ����(ͨ����=
������)��
�ѱ���ȱ���ǣ�
ORDER BY
)���Լӿ�ϵͳ��δ�����Ľ����ǣ�
EXPLAIN
������������7.22 EXPLAIN
�䷨(�õ�����SELECT
����Ϣ)��SELECT
��ѯ�����������������йص����⡣
SELECT
* from table where hash='calculated hash on col1 and col2' and col_1='constant' and
col_2='constant' and ..
��VARCHAR
��BLOB
�С�ֻҪ��ʹ�õ���VARCHAR
��BLOB
�У��㽫�õ���̬�г��ȡ���9.4 MySQL�������� UPDATE
table set count=count+1 where index_column=constant
�Ǻܿ��ģ�����ʹ����MySQL������ֻ�б�������(���ض�/����д)�����ݿ�ʱ����ȷʵ��Ҫ����Ҳ���������������ݿ��Ϻõ����ܣ���Ϊ�����������������������н��ٵ�����Ҫ����
11111111111111111111111INSERT /*! DELAYED */
�����ӿ촦������Ϊ�ܶ���¼������һ�δ���д�뱻д�롣INSERT /*! LOW_PRIORITY */
��SELECT /*! HIGH_PRIORITY */
��ȡ���������е�ѡ�������Ǽ�ʹ���˵ȴ���һ��д��ҲҪ���ɵ�ѡ����INSERT
�������洢�ܶ���һ��SQL��������(����SQL������֧��������LOAD DATA INFILE
װ�ؽϴ����������ݡ�����һ���IJ����첢�ҵ�myisamchk
������mysqld
��ʱ�����������졣AUTO_INCREMENT
�й���Ψһֵ��OPTIMIZE TABLE
�Ա�����Ƭ����7.9O PTIMIZE TABLE
�䷨��HEAP
���Եõ��������ٶȡ���9.4 MySQL��������name
������customer_name
)��Ϊ��ʹ������������ֲ������SQL����������Ӧ��ʹ���Ƕ���18
���ַ���MyISAM
������ʹ��SQL �ӿڣ����ܵõ�2-5�����ٶ�������Ȼ��Ϊ���������������ݱ���������Ӧ�ó�������ͬһ̨�����ķ������ϣ�����ͨ����ֻӦ�ñ�һ�����̴�ȡ(��Ϊ�ⲿ�ļ�����ȷʵ����)��ͨ����MySQL�������������ײ�MyISAM
������������������(������Ҫ���������ǻ��ø������ܵ�һ�����ķ���)�������������Ƶ����ݿ��ӿڣ�Ӧ���൱����֧�������Ż���
������Ӧ�ò�������Ӧ�ó��������ݿ⣬�Է���ƿ�����Ķ���ͨ��������(��ͨ����һ������ģ�顱����ƿ��)����������ȷ����һ��ƿ��(�ȵ�)����ʹ������Ӧ�ó�����˵���������ܡ��㹻�á���������Ӧ�ö�ÿ��ƿ����һ�����ƻ���������ij�ˡ�ȷʵ��Ҫ�������������ν�������
����һЩ����ֲ�Ļ����������ӣ��μ�MySQL��������11 MySQL �����������������������κγ�������Ϊ������Ҫ������ͨ�������������ܳ��Բ�ͬ�����������Ľ���������������һ�������������Ľ���������
��ϵͳ���ط���ʱ����һЩ�����Ǻ��ձ��ģ����������кܶ���������ϵ�Ŀͻ�������������ϵͳ����һ��(����)ϵͳ�����и������⡣��ĿǰΪֹ����һ����Щ�������������������йص�����(��ɨ���ڸ߸���ʱ���ֲ���)��OS/�����⡣����ϵͳ�Ѿ���������ϵͳ�У����Ǵ�������������������
Ϊ�˱������������⣬��Ӧ�ð�һЩ���������ڿ�����ĸ����²�����������Ӧ�ã�
MySQL�ڷֿ����ļ��д洢�����ݺ��������ݡ�����(����ȫ��)�������ݿ���ͬһ���ļ��л����к��������ݡ��������ţ�MySQL��ѡ���Էdz��㷺���ִ�ϵͳ����˵�ǽϺõġ�
�洢�����ݵ���һ����������һ���ֿ�������ÿ����Ϣ(������SDBM��Focus)���⽫��ÿ����ȡ����һ�еIJ�ѯ����һ������ͻ�ơ���Ϊ�ڶ���һ�б���ȡʱ���������˻���������������ģ�Ͷ�ͨ�ù��ܵ����ݿⲻ�����á�
������������������������һ�𱻴洢(����Oracle/Sybase)�������������У��㽫��������Ҷ��ҳ�����ҵ�����Ϣ�����Ⲽ�ֵĺô�����������������(ȡ������������������������)��ʡһ�δ��̶������Ⲽ�ֵĻ����ǣ�
��ΪMySQLʹ�ü����ı�����(���ζ�/һ��д)�����µ�������������ͬһ�����е�һ���������ȶ�������������ѡ����һ�����ϡ�
�������ţ������������£��Դ�����ϵͳ���쳣���ٵ�����ʹ����Ϊһ��Ӯ�ҡ���������ͨ��Ҳ����ͨ�����Ķ���������������������Ҫ��������������Ӳ����
��һЩ������Ӧ�û���������Ҳ�ڿ���һЩ��չ�����Խ��������⡣
��Ϊ����SQL������ʵ����SQL�IJ�ͬ���֣�Ҫ��������д����ֲ��SQLӦ�ó��Ժܼ�ѡ��/���룬���Ǻ����ģ���������ҪԽ�࣬��Խ���ѣ�������������ҪӦ�ó����Ժܶ����ݿⶼ�죬�����ø��ѣ�
Ϊ��ʹһ������Ӧ�ó�������ֲ������Ҫѡ����Ӧ����֮�����ĺܶ�SQL��������
������ʹ��MySQL��crash-me ������http://www.mysql.com/crash-me-choose.htmy�����ҳ�������֮ʹ�õ����ݿ���������ѡ���ĺ��������ͺ����ơ�crash-me���ڶ��κο��ܵ����������˺ܳ�ʱ�䣬��������Ȼ�������Թ��Ĵ�Լ450�����顣
���磬��������Ҫ��ʹ��Informix �� DB2���㲻Ӧ���б�18���ַ�������������
MySQL��������crash-me�Ƕ��������ݿ��ġ�ͨ���۲�������ô�����������ܵõ�һ���о���������Ϊ��д���Ķ��������ݿ���Ӧ�ó�����ʲô������������MySQLԴ�����ַ�����sql-bench��Ŀ¼���ҵ���������DBI���ݿ��ӿ���Perlд��(�����������Ĵ�ȡ����)��
��http://www.mysql.com/benchmark.html���������Ľ�����
������������Щ�����������������������ݿⶼ��һЩ���㡣���������Dz�ͬ���������Ե��µIJ�ͬ��Ϊ��
������Ϊ���ݿ��Ķ����Զ�Ŭ��������Ҫ����ÿ��SQL������ƿ�������ø��ܡ�MySQL�ڼ������·����ܿ죬������ͬһ�����ϻ��϶���/д�߷��潫��һ�����⡣����һ���棬������ͼ��ȡ�����������˵���ʱ��Oracle��һ���ܴ�����(ֱ�����DZ����յ�������)���������ݿ��ܵ���˵�ڴӼ�¼�ļ����������ܽ������Ǻܺã���Ϊ�����������£��м���������û�ô���
Ϊ��ʹ����Ӧ�ó�����ȷʵ���������ݿ⡱������Ҫ����һ�����Ŀ���չ�Ľӿڣ��������ɲ����������ݡ���ΪC++�ڴ�����ϵͳ�Ͽ��Եõ��ģ�ʹ�����ݿ���һ��C++ ���ӿ����������ġ�
������ʹ��һЩij�����ݿ��ض��Ĺ���(��MySQL�У���REPLACE
����)����Ӧ��ΪSQL����������һ��������ʵ��ͬ���Ĺ���
(������Щ)����MySQL������ʹ��/*! */
���MySQL�ض��Ĺؼ��ʼӵ���ѯ�С���/**/
�еĴ��뽫������������SQL��������Ϊһƪע��(������)��
�������������ı�ȷ�Ը���Ҫ��������һЩwebӦ�ó���������һ�ֿ������Ǵ���һ��Ӧ�ò㣬�������еĽ����Ը������ߵ����ܡ�ͨ��ֻ�����ϵĽ����ڶ�ʱ�����ڡ������ܱ��ֻ���������ˢ�¡����ڼ��߸��ص����������൱�����ģ��ڴ������£����ܶ�̬�����ӻ��浽���������趨�ϸߵĹ���ʱ��ֱ��һ�лص�������
�����������£�������Ϣ�ı�Ӧ�ð���������ʼ��С�ͱ�һ��Ӧ�ñ�ˢ�¼��ε���Ϣ��
��MySQL���������ڼ䣬MySQL�Ĺ����ʺ����ǵ������ͻ�������Ϊ��������һЩ�����������̴������ݲֿ⡣
���Ǵ������̵��õ����к���������ÿ���ܽᲢ�����DZ�����Ϊ���е����ṩ���õ���Ϣ�������ǵó����ǵĹ���ս����Ӱ�����ǵĹ˿͡�
�������൱������(��Լÿ��7�����ڽ����ܽ�)�������DZ���4-10������������Ҫ���ָ��û�������ÿ�ܹ˿������õ�������������Ҫ�����̡��������Ը����ݵ��±��档
����ͨ��ÿ�½�������Ϣ�洢��ѹ���ġ����ס���������������������һ�ĺ�/�ű������������Խ��ױ��IJ�ͬ����( ��Ʒ�飬�˿�id���̵�...)���ܽ�������������һ�������������ҳ��Сperl�ű���̬���ɵ���ҳ���ڽű���ִ��SQL���䲢�Ҳ����������������Ǻ���ʹ��PHP��mod_perl��������ʱ����û�С�
��ͼ�����ݣ�������C���Ա�д��һ���Ĺ��ߣ����ܻ���SQL��ѯ�Ľ���(�Խ�����һЩ����)������Ʒ����Ҳ�ӷ���HTML
�ļ���perl�ű��ж�̬��ִ�С�
�ڴ����������£�һ���µı���ͨ���ظ���һ�����нű����������е�SQL��ѯ�����ɡ���һЩ�����£����ǽ���Ҫ�Ѹ������ֶμӵ�һ�����е��ܽ����л�����һ���µģ�������Ҳ�൱����Ϊ�����ڴ����ϱ������н��ױ�����Ŀǰ����������50G�Ľ��ױ���200G�������˿�����)��
����Ҳ�����ǵĹ˿�ֱ����ODBC��ȡ�ܽ����Ա����û����Լ��������ݡ�
�����÷dz��е���Sun Ultra sparcstation ( 2x200 Mz )��������û���κ����⡣�������������˷�����֮һ��һ̨2��CPU 400 Mz��Ultra sparc�������������ڼƻ�������Ʒ���Ľ��ף��⽫��ζ����������10����������Ϊ������ͨ��ֻ��Ϊ���ǵ�ϵͳ���Ӹ����Ĵ��̾��ܸ�������
����Ҳ������Intel-Linux�Ա��ܸ����˵صõ�������cpu��������Ȼ�����ж����ƿ���ֲ�����ݿ���ʽ(��3.32������)�����ǽ���ʼ��Ӧ�ó�����ijЩ����ʹ������
���������ĸо���Linux�ڵ͵��еȸ���ʱִ�еĽϺã������㿪ʼ�õ����µĸ߸���ʱ��Solaris�����ָ��ã���Ϊ����IO�ļ��ޣ��������ǻ�û�й����ⷽ�����κν��ۡ�����һЩLinux���Ŀ����ߵ������Ժ����������� Linux �ĸ����ã�������������̫������Դʹ�ý��������ܱ��úܵ͡����������������ڽ���ʱ����ʹ�����о���������Ӧ��ϣ���⽫��δ����Linux�ں��н�����