ÓÅ»¯MySQLÊý¾Ý¿â²éѯ
ÓÅ»¯MySQLÊý¾Ý¿â²éѯ
ÔÚÓÅ»¯²éѯÖУ¬Êý¾Ý¿âÓ¦ÓÃ(ÈçMySQL)¼´Òâζ×ŶԹ¤¾ßµÄ²Ù×÷ÓëʹÓá£Ê¹ÓÃË÷Òý¡¢Ê¹ÓÃEXPLAIN·ÖÎö²éѯÒÔ¼°µ÷ÕûMySQLµÄÄÚ²¿ÅäÖÿɴﵽÓÅ»¯²éѯµÄÄ¿µÄ
¡¡¡¡ÈκÎһλÊý¾Ý¿â³ÌÐòÔ±¶¼»áÓÐÕâÑùµÄÌå»á£º¸ßͨÐÅÁ¿µÄÊý¾Ý¿âÇý¶¯³ÌÐòÖУ¬Ò»ÌõÔã¸âµÄSQL²éѯÓï¾ä¿É¶ÔÕû¸öÓ¦ÓóÌÐòµÄÔËÐвúÉúÑÏÖصÄÓ°Ï죬Æä²»½öÏûºÄµô¸ü¶àµÄÊý¾Ý¿âʱ¼ä£¬ÇÒËü½«¶ÔÆäËûÓ¦ÓÃ×é¼þ²úÉúÓ°Ïì¡£
¡¡¡¡ÈçͬÆäËüѧ¿Æ£¬ÓÅ»¯²éѯÐÔÄܴܺó³Ì¶ÈÉϾö¶¨ÓÚ¿ª·¢ÕßµÄÖ±¾õ¡£ÐÒÔ˵ÄÊÇ£¬ÏñMySQLÕâÑùµÄÊý¾Ý¿â×Ô´øÓÐһЩÐÖú¹¤¾ß¡£±¾ÎļòÒªÌÖÂÛÖî¶à¹¤¾ßÖ®ÈýÖÖ£ºÊ¹ÓÃË÷Òý£¬Ê¹ÓÃEXPLAIN·ÖÎö²éѯÒÔ¼°µ÷ÕûMySQLµÄÄÚ²¿ÅäÖá£
¡¡¡¡1: ʹÓÃË÷Òý
¡¡¡¡MySQLÔÊÐí¶ÔÊý¾Ý¿â±í½øÐÐË÷Òý£¬ÒÔ´ËÄÜѸËÙ²éÕҼǼ£¬¶øÎÞÐèÒ»¿ªÊ¼¾ÍɨÃèÕû¸ö±í£¬ÓÉ´ËÏÔÖøµØ¼Ó¿ì²éѯËٶȡ£Ã¿¸ö±í×î¶à¿ÉÒÔ×öµ½16¸öË÷Òý£¬´ËÍâMySQL»¹Ö§³Ö¶àÁÐË÷Òý¼°È«ÎļìË÷¡£
¡¡¡¡¸ø±íÌí¼ÓÒ»¸öË÷Òý·Ç³£¼òµ¥£¬Ö»Ðèµ÷ÓÃÒ»¸öCREATE INDEXÃüÁΪË÷ÒýÖ¸¶¨ËüµÄÓò¼´¿É¡£ÁбíA¸ø³öÁËÒ»¸öÀý×Ó£º
¡¡¡¡Áбí A
¡¡¡¡mysql£¾ CREATE INDEX idx_username ON users(username);
¡¡¡¡Query OK, 1 row affected (0.15 sec)
¡¡¡¡Records: 1 Duplicates: 0 Warnings: 0
¡¡¡¡ÕâÀ¶Ôusers±íµÄusernameÓò×öË÷Òý£¬ÒÔÈ·±£ÔÚWHERE»òÕßHAVING×Ó¾äÖÐÒýÓÃÕâÒ»ÓòµÄSELECT²éѯÓï¾äÔËÐÐËٶȱÈûÓÐÌí¼ÓË÷ÒýʱҪ¿ì¡£Í¨¹ýSHOW INDEXÃüÁî¿ÉÒԲ鿴Ë÷ÒýÒѱ»´´½¨(ÁбíB)¡£
¡¡¡¡Áбí B
¡¡¡¡mysql> SHOW INDEX from users;
¡¡¡¡| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
¡¡¡¡| users | 1 | idx_username | 1 | username | A | NULL | NULL | NULL | YES | BTREE | |
¡¡¡¡1 row in set (0.00 sec)
¡¡¡¡ÖµµÃ×¢ÒâµÄÊÇ£ºË÷Òý¾ÍÏñÒ»°ÑË«Èн£¡£¶Ô±íµÄÿһÓò×öË÷Òýͨ³£Ã»ÓбØÒª£¬ÇҺܿÉÄܵ¼ÖÂÔËÐÐËٶȼõÂý£¬ÒòΪÏò±íÖвåÈë»òÐÞ¸ÄÊý¾Ýʱ£¬MySQL²»µÃ²»Ã¿´Î¶¼ÎªÕâЩ¶îÍâµÄ¹¤×÷ÖØн¨Á¢Ë÷Òý¡£ÁíÒ»·½Ã棬±ÜÃâ¶Ô±íµÄÿһÓò×öË÷ÒýͬÑù²»ÊÇÒ»¸ö·Ç³£ºÃµÄÖ÷Ò⣬ÒòΪÔÚÌá¸ß²åÈë¼Ç¼µÄËÙ¶Èʱ£¬µ¼Ö²éѯ²Ù×÷µÄËٶȼõÂý¡£Õâ¾ÍÐèÒªÕÒµ½Ò»¸öƽºâµã£¬±ÈÈçÔÚÉè¼ÆË÷Òýϵͳʱ£¬¿¼ÂDZíµÄÖ÷Òª¹¦ÄÜ(Êý¾ÝÐÞ¸´¼°±à¼)²»Ê§ÎªÒ»ÖÖÃ÷ÖǵÄÑ¡Ôñ¡£
¡¡¡¡2: ÓÅ»¯²éѯÐÔÄÜ
¡¡¡¡ÔÚ·ÖÎö²éѯÐÔÄÜʱ£¬¿¼ÂÇEXPLAIN¹Ø¼ü×ÖͬÑùºÜ¹ÜÓá£EXPLAIN¹Ø¼ü×ÖÒ»°ã·ÅÔÚSELECT²éѯÓï¾äµÄÇ°Ã棬ÓÃÓÚ
Ïà¹ØÎĵµ£º
1¡¢ÏÂÔØMySQLµÄLinux°²×°Îļþ
¡¡¡¡LinuxÏ°²×°MySQLÐèÒªÏÂÃæÁ½¸öÎļþ£º
¡¡¡¡MySQL-server-5.1.7-0.i386.rpm
¡¡¡¡ÏÂÔصØַΪ£ºhttp://dev.mysql.com/downloads/mysql/5.1.html£¬´ò¿ª´ËÍøÒ³£¬ÏÂÀÍøÒ³ÕÒµ½“Linux x86 generic RPM (statically linked against glibc 2.2.5) downloads”ÏÕÒµ½“Ser ......
½ñÌìʹÓÃPowerDesigner´î½¨ÁËÒ»¸öСÏîÄ¿£¬×îºóÖ´ÐÐÍêSQL½Å±¾Ê±²Å·¢ÏÖÓÐ2ÕűíµÄ±íÃûÖмä¶àÁËÒ»¸ö¿Õ¸ñ£¬²éÍê×ÊÁÏ£¬×îºó²¢¾ªÆæ·¢ÏÖÓ³ÉäÎļþ¾¹È»¶àÁË2¸ö`,¾ÍÊÇshift+Êý×Ö¼ü1µÄÄǸö£¬Ò²¾ÍÊÇËûÔڽű¾ÊÇÕâÑùдµÄ£º
create table `table1`(....);
ÎÊÌâ½â¾ö¡£
PS:´ÓÍøÉÏÕÒµ½µÄ×ÊÁÏ£º
×÷Ϊһ¸öOracle DBA£¬MySQLºÜ¶àSQLÓï·¨ÓëOrac ......
¹Ø¼ü´Ê£ºMySQL ±¸·Ý »Ö¸´
¡¡¡¡±¸·ÝÊÇ×î¼òµ¥µÄ±£»¤Êý¾ÝµÄ·½·¨£¬±¾½Ú½«½éÉܶàÖÖ±¸·Ý·½·¨¡£ÎªÁ˵õ½Ò»¸öÒ»Öµı¸·Ý£¬ÔÚÏà¹ØµÄ±íÉÏ×öÒ»¸öLOCK TABLES£¬ÄãÖ»ÐèÒ»¸ö¶ÁËø¶¨£¬µ±ÄãÔÚÊý¾Ý¿âĿ¼ÖÐ×öÎļþµÄÒ»¸ö¿½±´Ê±£¬ÕâÔÊÐíÆäËûÏ̼߳ÌÐø²éѯ¸Ã±í;µ±Äã»Ö¸´Êý¾Ýʱ£¬ÐèÒªÒ»¸öдËø¶¨£¬ÒÔ±ÜÃâ³åÍ»¡£
¡¡¡¡Ê¹ÓÃSQL ......
mysql alter Óï¾äÓ÷¨,Ìí¼Ó¡¢Ð޸ġ¢É¾³ý×ֶεÈ
//Ö÷¼ü549830479
alter table tabelname add new_fiel ......
mysqlÊý¾Ý¿âlimit²éѯÓÅ»¯
MYSQLµÄÓÅ»¯ÊǷdz£ÖØÒªµÄ¡£ÆäËû×î³£ÓÃÒ²×îÐèÒªÓÅ»¯µÄ¾ÍÊÇlimit¡£mysqlµÄlimit¸ø·ÖÒ³´øÀ´Á˼«´óµÄ·½±ã£¬µ«Êý¾ÝÁ¿Ò»´óµÄʱºò£¬limitµÄÐÔÄܾͼ±¾çϽµ¡£
ͬÑùÊÇÈ¡10ÌõÊý¾Ý
select * from yanxue8_visit limit 10000,10 ºÍ
select * from yanxue8_visit limit 0,10
¾Í²»ÊÇÒ»¸öÊýÁ¿¼¶±ðµ ......