[MySQLÓÅ»¯] ÈçºÎ¶¨Î»Ð§Âʽϵ͵ÄSQL
[MySQLÓÅ»¯] -- ÈçºÎ¶¨Î»Ð§Âʽϵ͵ÄSQL
ʱ¼ä:2010-2-28À´Ô´:HaCMS¿ªÔ´ÉçÇø ×÷Õß:zhenpao
Ò»°ãͨ¹ýÒÔÏÂÁ½ÖÖ·½Ê½¶¨Î»Ö´ÐÐЧÂÊ½ÏµÍµÄ SQL Óï¾ä¡£ Âý²éѯÈÕÖ¾ÔÚ²éѯ½áÊøÒÔºó²Å¼Í¼£¬ËùÒÔÔÚÓ¦Ó÷´Ó³Ö´ÐÐЧÂʳöÏÖÎÊÌâµÄʱºò²éѯÂý²éѯÈÕÖ¾²¢²»Äܶ¨Î»ÎÊÌ⣬¿ÉÒÔʹÓà show processlist ÃüÁî²é¿´µ±Ç° MySQL ÔÚ½øÐеÄỊ̈߳¬°üÀ¨Ï̵߳Ä״̬¡¢ÊÇ·ñËø±íµÈ£¬¿ÉÒÔʵʱµØ²é ...
Ò»°ãͨ¹ýÒÔÏÂÁ½ÖÖ·½Ê½¶¨Î»Ö´ÐÐЧÂÊ½ÏµÍµÄ SQL Óï¾ä¡£
Âý²éѯÈÕÖ¾ÔÚ²éѯ½áÊøÒÔºó²Å¼Í¼£¬ËùÒÔÔÚÓ¦Ó÷´Ó³Ö´ÐÐЧÂʳöÏÖÎÊÌâµÄʱºò²éѯÂý²éѯÈÕÖ¾²¢²»Äܶ¨Î»ÎÊÌ⣬¿ÉÒÔʹÓà show processlist ÃüÁî²é¿´µ±Ç° MySQL ÔÚ½øÐеÄỊ̈߳¬°üÀ¨Ï̵߳Ä״̬¡¢ÊÇ·ñËø±íµÈ£¬¿ÉÒÔʵʱµØ²é¿´ SQL µÄ Ö´ÐÐÇé¿ö£¬Í¬Ê±¶ÔÒ»Ð©Ëø±í²Ù×÷½øÐÐÓÅ»¯¡£
ÏÂÃæÎÒÃǾÙÀý˵Ã÷һϣ¬ÈçºÎͨ¹ýÂý²éѯÈÕÖ¾¶¨Î»Ö´ÐÐЧÂÊµ×µÄ SQL Óï¾ä£º
¿ªÆôÂý²éѯÈÕÖ¾ , ÅäÖÃÑùÀý£º
[mysqld]
log-slow-queries
ÔÚ my.cnf ÅäÖÃÎļþÖÐÔö¼ÓÉÏÊöÅäÖÃÏî²¢ÖØÆô mysql ·þÎñ£¬Õâʱ mysql Âý²éѯ¹¦ÄÜÉúЧ¡£Âý²éѯ ÈÕÖ¾½«Ð´Èë²ÎÊý DATADIR £¨Êý¾ÝĿ¼£©Ö¸¶¨µÄ·¾¶Ï£¬Ä¬ÈÏÎļþÃûÊÇ host_name-slow.log ¡£
ºÍ´íÎóÈÕÖ¾¡¢²éѯÈÕÖ¾Ò»Ñù£¬Âý²éѯÈÕÖ¾¼Ç¼µÄ¸ñʽҲÊÇ´¿Îı¾£¬¿ÉÒÔ±»Ö±½Ó¶ÁÈ¡¡£ÏÂÀýÖÐÑÝʾÁËÂý²éѯÈÕÖ¾µÄÉèÖúͶÁÈ¡¹ý³Ì¡£
£¨ 1 £©Ê×ÏȲéѯһÏ long_query_time µÄÖµ ¡£
mysql> show variables like 'long%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| long_query_time | 10 |
+-----------------+-------+
1 row in set (0.00 sec)
£¨ 2 £©ÎªÁË·½±ã²âÊÔ£¬½«ÐÞ¸ÄÂý²éѯʱ¼äΪ 5 Ãë¡£
mysql> set long_query_time=5;
Query OK, 0 rows affected (0.02 sec)
£¨ 3 £©ÒÀ´ÎÖ´ÐÐÏÂÃæÁ½¸ö²éѯÓï¾ä¡£
µÚÒ»¸ö²éѯÒòΪ²éѯʱ¼äµÍÓÚ 5 Ãë¶ø²»»á³öÏÖÔÚÂý²éѯÈÕÖ¾ÖУº
mysql> select count(*) from order2008;
+----------+
| count(*) |
+----------+
| 208 |
+----------+
1 row in set (0.00 sec)
µÚ¶þ¸ö²éѯÒòΪ²éѯʱ¼ä´óÓÚ 5 Ãë¶øÓ¦¸Ã³öÏÖÔÚÂý²éѯÈÕÖ¾ÖУº
mysql> select count(*) from t_user;
+----------+
| count(*) |
+----------+
| 655296
Ïà¹ØÎĵµ£º
MYSQL4.1¼°¸ü¸ß°æ±¾Ö§³Ö·þÎñÆ÷¶Ë×¼±¸Óï¾ä(Prepared Statements), ËüʹÓÃÔöÇ¿µÄ¶þ½øÖƿͻ§¶Ë/·þÎñÆ÷ÐÒéÔÚ¿Í»§¶ËºÍ·þÎñÆ÷Ö®¼ä¸ßЧµÄ·¢ËÍÊý¾Ý£¬¿ÉÒÔͨ¹ýÖ§³ÖÕâÖÖÐÐÐÒéµÄ±à³Ì¿âÀ´·ÃÎÊ×¼±¸Óï¾ä£¬ÁÐÈëMYSQL CAPI,MYSQL Connector/JºÍMYSQL Connector/NET ΪJAVAºÍ.NETÌṩÁËͬÑùµÄ·ÃÎʽӿڡ£ËüÒ²ÓÐSQLÓïÑԵķÃÎʽӿڡ£
´´½¨×¼ ......
ĿǰLAMP (Linux + Apache + MySQL + PHPspan style="font-family: Verdana;">) ½ü¼¸ÄêÀ´·¢Õ¹Ñ¸ËÙ£¬ÒѾ³ÉΪWeb ·þÎñÆ÷µÄÊÂʵ±ê×¼¡£LAMPÕâ¸ö´ÊµÄÓÉÀ´×îÔçʼÓڵ¹úÔÓÖ¾“c't Mag
azine”£¬Michael KunzeÔÚ1990Äê×îÏȰÑÕâЩÏîÄ¿×éºÏÔÚÒ»Æð´´ÔìÁËLAMPµÄËõд×Ö¡£ÕâЩ×é¼þËäÈ»²¢²»ÊÇ¿ª¿ªÊ¼¾ÍÉè¼ÆÎªÒ»Æðʹ ......
»·¾³£º
²Ù×÷ϵͳ£ºWIN2003
MySql£ºmysql Ver 12.22 Distrib 4.0.18, for Win95/Win98 (i32)
˼Ï룺
ΪÁ˰²È«¼ÓÃÜÐèÒªÉèÖÃmysqlÊý¾Ý¿âÏà¹ØÓû§µÄÃÜÂ룻
MySqlÊý¾Ý¿âµÄÃÜÂë¶¼ÊDZ£´æÔÚmysqlÊý¾Ý¿âʵÀýµÄuser±íÖеÄpassword×Ö¶ÎÀͨ¹ýPASSWORD("")µÄº¯Êý¶ÔÃÜÂë¼ÓÃܺ󱣴æÔÚ±íÖУ»
ËùÒÔÒªÐÞ¸ÄÓû§µÄÃÜÂëÖ ......
±ÈÈ磺
insert into User values(x1,x2,x3,x4),(x1,x2,x3,x4),(x1,x2,x3,x4)
ÕâÖÖд·¨£¬ÁÐÊýÁ¿±ØÐëºÍ±íÖÐËùÓÐÁб£³ÖÒ»Ö£¬Ò²¾ÍÊÇ˵Áж¼ÒªÁгöÀ´¡£
Õâ¸öuser±íÀïÃæµÄÒ»¸ö×Ö¶Îx1ÊǸö×ÔÔö³¤×ֶΣ¬ÔòÓ¦¸ÃÌînullռλ
insert into User values(null,x2,x3,x4),(null,x2,x3,x4),(null,x2,x3,x4)
·ñÔò»á±¨´í¡£ ......
key_buffer_size - Õâ¶ÔMyISAM±íÀ´Ëµ·Ç³£ÖØÒª¡£Èç¹ûÖ»ÊÇʹÓÃMyISAM±í£¬¿ÉÒÔ°ÑËüÉèÖÃΪ¿ÉÓÃÄÚ´æµÄ 30-40%¡£ºÏÀíµÄֵȡ¾öÓÚË÷Òý´óС¡¢Êý¾ÝÁ¿ÒÔ¼°¸ºÔØ¡£
¼Çס£¬MyISAM±í»áʹÓòÙ×÷ϵͳµÄ»º´æÀ´»º´æÊý¾Ý£¬Òò´ËÐèÒªÁô³ö²¿·ÖÄÚ´æ¸øËüÃÇ£¬ºÜ¶àÇé¿öÏÂÊý¾Ý±ÈË÷Òý´ó¶àÁË¡£¾¡¹ÜÈç´Ë£¬ÐèÒª×ÜÊǼì²éÊÇ·ñËùÓÐµÄ key_buffer ¶¼±»ÀûÓÃÁË¡£ ......