Ë÷ÒýʹÓõÄÈÕ³£²Ù×÷
²Ù×÷¶¯×÷ÃèÊö | ÊÇ·ñʹÓà |
Áо³£±»·Ö×éÅÅÐò | ʹÓà |
·µ»Øij·¶Î§ÄÚµÄÊý¾Ý | ʹÓà |
Ò»¸ö»ò¼«ÉÙ²»Í¬Öµ | ²»Ê¹Óà |
СÊýÄ¿µÄ²»Í¬Öµ | ʹÓà |
´óÊýÄ¿µÄ²»Í¬Öµ | ²»Ê¹Óà |
Ƶ·±¸üеÄÁÐ | ²»Ê¹Óà |
Íâ¼üÁÐ | ʹÓà |
Ö÷¼üÁÐ | ʹÓà |
Ƶ·±ÐÞ¸ÄË÷ÒýÁÐ | ²»Ê¹Óà |
Ë÷Òýȱµã£º
(1)»á½µµÍ¸üбíµÄËٶȣ¬Èç¶Ô±í½øÐÐINSERT¡¢UPDATEºÍDELETE¡£ÒòΪ¸üбíʱ£¬MySQL²»½öÒª±£´æÊý¾Ý£¬»¹Òª±£´æÒ»ÏÂË÷ÒýÎļþ¡£
(2)½¨Á¢Ë÷Òý»áÕ¼ÓôÅÅÌ¿Õ¼äµÄË÷ÒýÎļþ¡£Ò»°ãÇé¿öÕâ¸öÎÊÌⲻ̫ÑÏÖØ£¬µ«Èç¹ûÄãÔÚÒ»¸ö´ó±íÉÏ´´½¨Á˶àÖÖ×éºÏË÷Òý£¬Ë÷ÒýÎļþµÄ»áÅòÕͺܿ졣
Ë÷Òý·½Ê½
B-TreeË÷Òý.½øÐÐÈ«¹Ø¼ü×Ö¡¢¹Ø¼ü×Ö·¶Î§ºÍ¹Ø¼ü×Öǰ׺²éѯ
hashË÷Òý.Ö»ÓÐMemory´æ´¢ÒýÇæÏÔʾ֧³ÖhashË÷Òý ½ö½öÄÜÂú×ã=£¬<=>£¬IN£¬IS NULL»òÕßIS NOT NULL²éѯ£¬²»ÄÜʹÓ÷¶Î§²éѯ(²»ÍƼö)
Ë÷ÒýÀàÐÍ
ÆÕͨ(index)Ë÷Òý:MyIASMÖÐĬÈϵÄBTREEÀàÐ͵ÄË÷Òý
¨CÖ±½Ó´´½¨Ë÷Òý
CREATE INDEX index_name ON table(column(length))
¨CÐ޸ıí½á¹¹µÄ·½Ê½Ìí¼ÓË÷Òý
ALTER TABLE table_name ADD INDEX index_name ON (column(length))
¨C´´½¨±íµÄʱºòͬʱ´´½¨Ë÷Òý
CREATE TABLE `table` (
`id` int(11) NOT NULL AUTO_INCREMENT ,
`title` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL ,
`time` int(10) NULL DEFAULT NULL ,
PRIMARY KEY (`id`),
INDEX index_name (title(length))
)
¨Cɾ³ýË÷Òý
DROP INDEX index_name ON table
×¢Òâ:
index_nameΪË÷ÒýÃû£¬
table±íÃû£¬
columnΪÁÐÃû£¬
lengthΪǰ׺³¤¶È£¬¼´Ë÷ÒýÔÚ¸ÃÁдÓ×î×ó×Ö·û¿ªÊ¼´æ´¢µÄÐÅÏ¢³¤¶È£¬µ¥Î»×Ö½Ú
Èç¹ûÊÇCHAR£¬VARCHARÀàÐÍ£¬Ç°×º³¤¶È¿ÉÒÔСÓÚ×Ö¶Îʵ¼Ê³¤¶È£»
Èç¹ûÊÇBLOBºÍTEXTÀàÐÍ£¬±ØÐëÖ¸¶¨ ǰ׺³¤¶È£¬ÏÂͬ¡£
Ψһ(Unique)Ë÷Òý:²»Í¬µÄ¾ÍÊÇ£ºË÷ÒýÁеÄÖµ±ØÐëΨһ£¬µ«ÔÊÐíÓпÕÖµ£¨×¢ÒâºÍÖ÷¼ü²»Í¬£©
¨C´´½¨Î¨Ò»Ë÷Òý
CREATE UNIQUE INDEX indexName ON table(column(length))
¨CÐ޸ıí½á¹¹
ALTER TABLE table_name ADD UNIQUE indexName ON (column(length))
¨C´´½¨±íµÄʱºòÖ±½ÓÖ¸¶¨
CREATE TABLE `table` (
`id` int(11) NOT NULL AUTO_INCREMENT ,
`title` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL ,
`time` int(10) NULL DEFAULT NULL ,
PRIMARY KEY (`id`),
UNIQUE indexName (title(length))
);
È«ÎÄ(Full-text)Ë÷Òý:¿ÉÒÔ´ÓCHAR¡¢VARCHAR»òTEXTÁÐÖмìË÷¹Ø¼ü×Ö
½«ÄãµÄ×ÊÁÏÊäÈëÒ»¸öûÓÐFULLTEXTË÷ÒýµÄ±íÖУ¬È»ºó´´½¨Ë÷Òý£¬
ÆäËٶȱȰÑ×ÊÁÏÊäÈëÏÖÓÐFULLTEXTË÷ÒýµÄËٶȸüΪ¿ì¡£
²»¹ýÇмǶÔÓÚ´óÈÝÁ¿µÄÊý¾Ý±í£¬Éú³ÉÈ«ÎÄË÷ÒýÊÇÒ»¸ö·Ç³£ÏûºÄʱ¼ä·Ç³£ÏûºÄÓ²ÅÌ¿Õ¼äµÄ×ö·¨
¨CÐ޸ıí½á¹¹Ìí¼ÓÈ«ÎÄË÷Òý
ALTER TABLE article ADD FULLTEXT index_content(content)
¨CÖ±½Ó´´½¨Ë÷Òý
CREATE FULLTEXT INDEX index_content ON article(content)
¨C´´½¨±íµÄÊʺÏÌí¼ÓÈ«ÎÄË÷Òý
CREATE TABLE `table` (
`id` int(11) NOT NULL AUTO_INCREMENT ,
`title` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL ,
`time` int(10) NULL DEFAULT NULL ,
PRIMARY KEY (`id`),
FULLTEXT (content)
);
²é¿´Ë÷ÒýʹÓÃÇé¿ö
Óï·¨£ºSHOW STATUS LIKE 'Handler_read%';
Èç¹ûË÷ÒýÕýÔÚ¹¤×÷£¬Handler_read_keyµÄÖµ½«ºÜ¸ß£¬Õâ¸öÖµ´ú±íÁËÒ»¸öÐб»Ë÷ÒýÖµ¶ÁµÄ´ÎÊý£¬ºÜµÍµÄÖµ±íÃ÷Ôö¼ÓË÷ÒýµÃµ½µÄÐÔÄܸÄÉƲ»¸ß£¬ÒòΪË÷Òý²¢²»¾³£Ê¹Óá£
Handler_read_rnd_nextµÄÖµ¸ßÔòÒâζ×ŲéѯÔËÐеÍЧ£¬²¢ÇÒÓ¦¸Ã½¨Á¢Ë÷Òý²¹¾È¡£Õâ¸öÖµµÄº¬ÒåÊÇÔÚÊý¾ÝÎļþÖжÁÏÂÒ»ÐеÄÇëÇóÊý¡£Èç¹ûÄãÕý½øÐдóÁ¿µÄ±íɨÃ裬¸ÃÖµ½Ï¸ß¡£Í¨³£ËµÃ÷±íË÷Òý²»ÕýÈ·»òдÈëµÄ²éѯûÓÐÀûÓÃË÷Òý¡£
ʹÓÃË÷ÒýҪעÒâµÄ
(1)Ë÷ÒýÃû³Æ²»Òª³åÍ»
(2)Ë÷Òý²»»á°üº¬ÓÐNULLÖµµÄÁÐ [½¨±íʱºòÒ»¶¨Òª¸ønot null»òÕßĬÈÏÖµ]
(3)Ë÷ÒýÔ½¶ÌÔ½ºÃ,ÀýÈ磬Èç¹ûÓÐÒ»¸ö CHAR(200) ÁУ¬Èç¹ûÔÚÇ° 10 ¸ö»ò 20 ¸ö×Ö·ûÄÚ£¬
¶àÊýÖµÊÇΩһµÄ£¬ÄÇô¾Í²»Òª¶ÔÕû¸öÁнøÐÐË÷Òý¡£¶ÔÇ° 10 ¸ö»ò 20 ¸ö×Ö·û½øÐÐË÷ÒýÄܹ»½ÚÊ¡´óÁ¿Ë÷Òý¿Õ¼ä£¬Ò²¿ÉÄÜ»áʹ²éѯ¸ü¿ì¡£
(4)Ë÷ÒýÁÐÅÅÐò[Èç¹ûwhere×Ó¾äÖÐÒѾʹÓÃÁËË÷ÒýµÄ»°£¬
ÅÅÐò(È«²¿ÉýÐò»òÕßÈ«²¿½µÐò)ʱºò,ÊÇÖ±½ÓÓÃË÷ÒýÅÅÐòµÄ,ÅÅÐòºÜ¿ìÓÖ¸ßЧ
ÄÇôÕâʱ¾Í²»ÐèÒªorder byÔÙÈ¥ÅÅÐòÁË
¾¡Á¿²»Òª°üº¬¶à¸öÁеÄÅÅÐò£¬Èç¹ûÐèÒª×îºÃ¸øÕâЩÁд´½¨¸´ºÏË÷Òý¡£]
(5)whereÌõ¼þΪ×Ö·û´®µÄÒ»¶¨Òª¼ÓÒýºÅ ÀýÈç: EXPLAIN SELECT * from wm_goods WHERE title = '123'
(6)likeÓï¾ä²Ù×÷,Ò»°ãÇé¿öϲ»¹ÄÀøʹÓÃlike²Ù×÷£¬Èç¹û·ÇʹÓò»¿ÉҪעÒâ[like ¡°ªa%¡± ²»»áʹÓÃË÷Òý¶ølike ¡°aaa%¡±¿ÉÒÔʹÓÃË÷Òý]
(7)MySQLÖ»¶ÔһϲÙ×÷·û²ÅʹÓÃË÷Òý£º<,<=,=,>,>=,between,in,
ÒÔ¼°Ä³Ð©Ê±ºòµÄlike(²»ÒÔͨÅä·û%»ò_¿ªÍ·µÄÇéÐÎ)¡£
¶øÀíÂÛÉÏÿÕűíÀïÃæ×î¶à¿É´´½¨16¸öË÷Òý£¬²»¹ý³ý·ÇÊÇÊý¾ÝÁ¿ÕæµÄºÜ¶à£¬
·ñÔò¹ý¶àµÄʹÓÃË÷ÒýÒ²²»ÊÇÄÇôºÃÍæµÄ£¬±ÈÈçÎÒÔÚ²âÊÔʱ¶ÔtextÀàÐ͵Ä×ֶδ´½¨Ë÷ÒýµÄʱºò£¬ÏµÍ³¾Í¿¨ËÀÁË¡£
(8)ÔÚʹÓÃNOT INºÍ<>²Ù×÷ʱºòÆð²»µ½¹Ø¼ü×÷Óà ÀýÈç: EXPLAIN SELECT * from wm_goods WHERE title <> '123'
(8)WHERE index=1 OR A=10 Ò²²»»áÓõ½Ë÷Òý
Ë÷ÒýʵÀý
Èç¹û¶Ô¶àÁнøÐÐË÷Òý(×éºÏË÷Òý)£¬ÁеÄ˳Ðò·Ç³£ÖØÒª£¬MySQL½öÄܶÔË÷Òý×î×ó±ßµÄǰ׺½øÐÐÓÐЧµÄ²éÕÒ¡£
ÀýÈ磺
¼ÙÉè´æÔÚ×éºÏË÷ÒýKEY `g_gcat_id` (`gcat_id`,`brands_id`) USING BTREE£¬
²éѯÓï¾äEXPLAIN SELECT * from wm_goods WHERE gcat_id = 1 and brands_id = 3Äܹ»Ê¹ÓøÃË÷Òý¡£
²éѯÓï¾äEXPLAIN SELECT * from wm_goods WHERE gcat_id = 1 Ò²Äܹ»Ê¹ÓøÃË÷Òý¡£
µ«ÊÇ£¬²éѯÓï¾äEXPLAIN SELECT * from wm_goods WHERE brands_id = 3²»Äܹ»Ê¹ÓøÃË÷Òý£¬
ÒòΪûÓÐ×éºÏË÷ÒýµÄÒýµ¼ÁУ¬¼´£¬ÒªÏëʹÓÃbrands_idÁнøÐвéÕÒ£¬±ØÐè³öÏÖgcat_idµÈÓÚijֵ¡£
mysqlÇ¿ÖÆË÷ÒýºÍ½ûֹij¸öË÷Òý
1¡¢mysqlÇ¿ÖÆʹÓÃË÷Òý:force index(Ë÷ÒýÃû»òÕßÖ÷¼üPRI)
ÀýÈç:
select * from table force index(PRI) limit 2;(Ç¿ÖÆʹÓÃÖ÷¼ü)
select * from table force index(ziduan1_index) limit 2;(Ç¿ÖÆʹÓÃË÷Òý¡±ziduan1_index¡±)
select * from table force index(PRI,ziduan1_index) limit 2;(Ç¿ÖÆʹÓÃË÷Òý¡±PRIºÍziduan1_index¡±)
2¡¢mysql½ûֹij¸öË÷Òý£ºignore index(Ë÷ÒýÃû»òÕßÖ÷¼üPRI)
ÀýÈç:
select * from table ignore index(PRI) limit 2;(½ûֹʹÓÃÖ÷¼ü)
select * from table ignore index(ziduan1_index) limit 2;(½ûֹʹÓÃË÷Òý¡±ziduan1_index¡±)
select * from table ignore index(PRI,ziduan1_index) limit 2;(½ûֹʹÓÃË÷Òý¡±PRI,ziduan1_index¡±)
ÍƼöÐÅÏ¢
ÈÈÃÅÐÅÏ¢
- nohup: redirecting stderr to stdou....
- ʹÓÃlog_formatΪNginx·þÎñÆ÷ÉèÖøüÏêϸµÄÈÕÖ¾¸ñʽ
- jquery easyUI--dataGrid-Json
- [Ô´´]·ÂGoogle Reader¡¢ÐÂÀË΢²©¡¢ÌÚѶ΢²©µ....
- ÀûÓÃKeepalived+mysql¹¹½¨¸ß¿ÉÓÃMySQLË«Ö÷×Ô¶....
- Nginx+keepalivedʵÏÖ¸ºÔؾùºâºÍË«»úÈȱ¸¸ß¿ÉÓÃ
- jqueryʵÏÖÒ³Ãæ¼ÓÔؽø¶ÈÌõ
- Rolling cURL: PHP²¢·¢×î¼Ñʵ¼ù
- codeigniter ·ÓÉÖÕ¼«ÓÅ»¯(url rewrite)
- linuxÏÂÉèÖÃsshÎÞÃÜÂëµÇ¼
ÆÀÂÛ