[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
Ïà¹ØÎĵµ£º
USE dxdb;
DELIMITER //
#»ñÈ¡Á÷Ë®ºÅ
DROP PROCEDURE IF EXISTS get_sid;
CREATE PROCEDURE get_sid(para_domain VARCHAR(20), out para_sid BIGINT UNSIGNED)
BEGIN
START TRANSACTION;
UPDATE t_sid SET sID=sID+1 WHERE cDomain=para_domain;
SELECT sID INTO para_sid from t_sid WHERE cDomain=para_domain;
......
1¡¢Ñ¡È¡×îÊÊÓõÄ×Ö¶ÎÊôÐÔ
¡¡¡¡MySQL¿ÉÒԺܺõÄÖ§³Ö´óÊý¾ÝÁ¿µÄ´æÈ¡£¬µ«ÊÇÒ»°ã˵À´£¬Êý¾Ý¿âÖеıíԽС£¬ÔÚËüÉÏÃæÖ´ÐеIJéѯҲ¾Í»áÔ½¿ì¡£Òò´Ë£¬ÔÚ´´½¨±íµÄʱºò£¬ÎªÁË»ñµÃ¸üºÃµÄÐÔÄÜ£¬ÎÒÃÇ¿ÉÒÔ½«±íÖÐ×ֶεĿí¶ÈÉèµÃ¾¡¿ÉÄÜС¡£ÀýÈ磬ÔÚ¶¨ÒåÓÊÕþ±àÂëÕâ¸ö×Ö¶Îʱ£¬Èç¹û½«ÆäÉèÖÃΪCHAR(255),ÏÔÈ»¸øÊý¾Ý¿âÔö¼ÓÁ˲»±ØÒªµÄ¿Õ¼ä£¬ÉõÖÁÊ ......
Ò»¸öÍøÓÑÔÚ̳×ÓÉÏÎʵ½µÄÎÊÌ⣬˵ÓÃMinGW GCC±àÒëÔËÐÐÒ»¸öÁ¬½ÓMySQLÊý¾Ý¿âµÄ³ÌÐòʱÓöµ½´íÎó£º
undefined reference to `mysql_init@4'
undefined reference to `mysql_real_connect@32'
undefined reference to `mysql_close@4'
ÎÒËìÈ¥MySQL¹ÙÍøÏÂÁ˸ö×îеÄWindows C Connect ......
mysql 5.0´æ´¢¹ý³Ìѧϰ×ܽá
Ò».´´½¨´æ´¢¹ý³Ì
1.»ù±¾Óï·¨£º
create procedure sp_name()
begin
………
end
2.²ÎÊý´«µÝ
¶þ.µ÷Óô洢¹ý³Ì
1.»ù±¾Óï·¨£ºcall sp_name()
×¢Ò⣺´æ´¢¹ý³ÌÃû³ÆºóÃæ±ØÐë¼ÓÀ¨ºÅ£¬ÄÄŸô洢¹ý³ÌûÓвÎÊý´«µÝ
Èý.ɾ³ý´æ´¢¹ý³Ì
1.»ù±¾Óï·¨£º
drop procedure sp_na ......
#ÐÂÔöÒ»¸ö×ֶΣ¬Ä¬ÈÏֵΪ0£¬·Ç¿Õ£¬×Ô¶¯Ôö³¤£¬Ö÷¼ü
alter table tabelname add new_field_name field_type default 0 not null auto_increment ,add primary key (new_field_name);
#Ôö¼ÓÒ»¸öÐÂ×Ö¶Î
alter table tableName add new_field_name field_type;
alter table tableNam ......