MySQLË÷Òý·ÖÎöºÍÓÅ»¯
Ë÷ÒýÓÃÀ´¿ìËÙµØÑ°ÕÒÄÇЩ¾ßÓÐÌØ¶¨ÖµµÄ¼Ç¼£¬ËùÓÐMySQLË÷Òý¶¼ÒÔB-Ê÷µÄÐÎʽ±£´æ¡£Èç¹ûûÓÐË÷Òý£¬Ö´ÐвéѯʱMySQL±ØÐë´ÓµÚÒ»¸ö¼Ç¼¿ªÊ¼É¨ÃèÕû¸ö±íµÄËùÓмǼ£¬Ö±ÖÁÕÒµ½·ûºÏÒªÇóµÄ¼Ç¼¡£±íÀïÃæµÄ¼Ç¼ÊýÁ¿Ô½¶à£¬Õâ¸ö²Ù×÷µÄ´ú¼Û¾ÍÔ½¸ß¡£Èç¹û×÷ΪËÑË÷Ìõ¼þµÄÁÐÉÏÒѾ­´´½¨ÁËË÷Òý£¬MySQLÎÞÐèɨÃèÈκμǼ¼´¿ÉѸËٵõ½Ä¿±ê¼Ç¼ËùÔÚµÄλÖá£Èç¹û±íÓÐ1000¸ö¼Ç¼£¬Í¨¹ýË÷Òý²éÕҼǼÖÁÉÙÒª±È˳ÐòɨÃè¼Ç¼¿ì100±¶¡£

¼ÙÉèÎÒÃÇ´´½¨ÁËÒ»¸öÃûΪpeopleµÄ±í£º

CREATE TABLE people ( peopleid SMALLINT NOT NULL, name CHAR(50) NOT NULL );



È»ºó£¬ÎÒÃÇÍêÈ«Ëæ»ú°Ñ1000¸ö²»Í¬nameÖµ²åÈëµ½people±í¡£ÏÂͼÏÔʾÁËpeople±íËùÔÚÊý¾ÝÎļþµÄһС²¿·Ö£º



¿ÉÒÔ¿´µ½£¬ÔÚÊý¾ÝÎļþÖÐnameÁÐûÓÐÈκÎÃ÷È·µÄ´ÎÐò¡£Èç¹ûÎÒÃÇ´´½¨ÁËnameÁеÄË÷Òý£¬MySQL½«ÔÚË÷ÒýÖÐÅÅÐònameÁУº



¶ÔÓÚË÷ÒýÖеÄÿһÏMySQLÔÚÄÚ²¿ÎªËü±£´æÒ»¸öÊý¾ÝÎļþÖÐʵ¼Ê¼Ç¼ËùÔÚλÖõġ°Ö¸Õ롱¡£Òò´Ë£¬Èç¹ûÎÒÃÇÒª²éÕÒnameµÈÓÚ ¡°Mike¡±¼Ç¼µÄpeopleid£¨SQLÃüÁîΪ¡°SELECT peopleid FROM people WHERE name='Mike';¡±£©£¬MySQLÄܹ»ÔÚnameµÄË÷ÒýÖвéÕÒ¡°Mike¡±Öµ£¬È»ºóÖ±½Óתµ½Êý¾ÝÎļþÖÐÏàÓ¦µÄÐУ¬×¼È·µØ·µ»Ø¸ÃÐÐµÄ peopleid£¨999£©¡£ÔÚÕâ¸ö¹ý³ÌÖУ¬MySQLÖ»Ðè´¦ÀíÒ»¸öÐоͿÉÒÔ·µ»Ø½á¹û¡£Èç¹ûûÓС°name¡±ÁеÄË÷Òý£¬MySQLҪɨÃèÊý¾ÝÎļþÖеÄËùÓмǼ£¬¼´1000¸ö¼Ç¼£¡ÏÔÈ»£¬ÐèÒªMySQL´¦ÀíµÄ¼Ç¼ÊýÁ¿Ô½ÉÙ£¬ÔòËüÍê³ÉÈÎÎñµÄËٶȾÍÔ½¿ì¡£

Ë÷ÒýµÄÀàÐÍ


MySQLÌṩ¶àÖÖË÷ÒýÀàÐ͹©Ñ¡Ôñ£º

ÆÕͨË÷Òý

ÕâÊÇ×î»ù±¾µÄË÷ÒýÀàÐÍ£¬¶øÇÒËüûÓÐΨһÐÔÖ®ÀàµÄÏÞÖÆ¡£ÆÕͨË÷Òý¿ÉÒÔͨ¹ýÒÔϼ¸ÖÖ·½Ê½´´½¨£º

´´½¨Ë÷Òý£¬ÀýÈçCREATE INDEX <Ë÷ÒýµÄÃû×Ö> ON tablename (ÁеÄÁбí);
ÐÞ¸Ä±í£¬ÀýÈçALTER TABLE tablename ADD INDEX [Ë÷ÒýµÄÃû×Ö] (ÁеÄÁбí);
´´½¨±íµÄʱºòÖ¸¶¨Ë÷Òý£¬ÀýÈçCREATE TABLE tablename ( [...], INDEX [Ë÷ÒýµÄÃû×Ö] (ÁеÄÁбí) );



ΨһÐÔË÷Òý

ÕâÖÖË÷ÒýºÍÇ°ÃæµÄ¡°ÆÕͨË÷Òý¡±»ù±¾Ïàͬ£¬µ«ÓÐÒ»¸öÇø±ð£ºË÷ÒýÁеÄËùÓÐÖµ¶¼Ö»ÄܳöÏÖÒ»´Î£¬¼´±ØÐëΨһ¡£Î¨Ò»ÐÔË÷Òý¿ÉÒÔÓÃÒÔϼ¸ÖÖ·½Ê½´´½¨£º

´´½¨Ë÷Òý£¬ÀýÈçCREATE UNIQUE INDEX <Ë÷ÒýµÄÃû×Ö> ON tablename (ÁеÄÁбí);
ÐÞ¸Ä±í£¬ÀýÈçALTER TABLE tablename ADD UNIQUE [Ë÷ÒýµÄÃû×Ö] (ÁеÄÁбí);
´´½¨±íµÄʱºòÖ¸¶¨Ë÷Òý£¬ÀýÈçCREATE TABLE tablename ( [...], UNIQUE [Ë÷ÒýµÄÃû×Ö] (ÁеÄÁбí)
);



Ö÷¼ü

Ö÷¼üÊÇÒ»ÖÖΨһÐÔË÷Òý£¬µ«Ëü±ØÐëÖ¸¶¨Îª¡°PRIMARY KEY¡±¡£Èç¹ûÄãÔø¾­ÓùýAUTO_INCREMENTÀàÐ͵ÄÁУ¬Äã¿ÉÄÜÒѾ­ÊìϤÖ÷¼üÖ®ÀàµÄ¸ÅÄîÁË¡£Ö÷¼üÒ»°ãÔÚ´´½¨±íµÄʱºòÖ¸¶¨£¬ÀýÈç¡°CREATE TABLE tablename ( [...], PRIMARY KEY (ÁеÄÁбí) ); ¡±¡£µ«ÊÇ£¬ÎÒÃÇÒ²¿ÉÒÔͨ¹ýÐ޸ıíµÄ·½Ê½¼ÓÈëÖ÷¼ü£¬ÀýÈç¡°ALTER TABLE tablename ADD PRIMARY KEY (ÁеÄÁбí); ¡±¡£Ã¿¸ö±íÖ»ÄÜÓÐÒ»¸öÖ÷¼ü¡£

È«ÎÄË÷Òý

MySQL´Ó3.23.23°æ¿ªÊ¼Ö§³ÖÈ«ÎÄË÷ÒýºÍÈ«ÎļìË÷¡£ÔÚMySQLÖУ¬È«ÎÄË÷ÒýµÄË÷ÒýÀàÐÍΪFULLTEXT¡£È«ÎÄË÷Òý¿ÉÒÔÔÚ VARCHAR»òÕßTEXTÀàÐ͵ÄÁÐÉÏ´´½¨¡£Ëü¿ÉÒÔͨ¹ýCREATE TABLEÃüÁî´´½¨£¬Ò²¿ÉÒÔͨ¹ýALTER TABLE»òCREATE INDEXÃüÁî´´½¨¡£¶ÔÓÚ´ó¹æÄ£µÄÊý¾Ý¼¯£¬Í¨¹ýALTER TABLE£¨»òÕßCREATE INDEX£©ÃüÁî´´½¨È«ÎÄË÷ÒýÒª±È°Ñ¼Ç¼²åÈë´øÓÐÈ«ÎÄË÷ÒýµÄ¿Õ±í¸ü¿ì¡£±¾ÎÄÏÂÃæµÄÌÖÂÛ²»ÔÙÉæ¼°È«ÎÄË÷Òý£¬ÒªÁ˽â¸ü¶àÐÅÏ¢£¬Çë²Î¼ûMySQL documentation¡£

µ¥ÁÐË÷ÒýÓë¶àÁÐË÷Òý


Ë÷Òý¿ÉÒÔÊǵ¥ÁÐË÷Òý£¬Ò²¿ÉÒÔÊǶàÁÐË÷Òý¡£ÏÂÃæÎÒÃÇͨ¹ý¾ßÌåµÄÀý×ÓÀ´ËµÃ÷ÕâÁ½ÖÖË÷ÒýµÄÇø±ð¡£¼ÙÉèÓÐÕâÑùÒ»¸öpeople±í£º

CREATE TABLE people ( peopleid SMALLINT NOT NULL AUTO_INCREMENT, firstname CHAR(50)
NOT NULL, lastname CHAR(50) NOT NULL, age SMALLINT NOT NULL, townid SMALLINT NOT
NULL, PRIMARY KEY (peopleid) );



ÏÂÃæÊÇÎÒÃDzåÈëµ½Õâ¸öpeople±íµÄÊý¾Ý£º



Õâ¸öÊý¾ÝƬ¶ÎÖÐÓÐËĸöÃû×ÖΪ¡°Mikes¡±µÄÈË£¨ÆäÖÐÁ½¸öÐÕSullivans£¬Á½¸öÐÕMcConnells£©£¬ÓÐÁ½¸öÄêÁäΪ17ËêµÄÈË£¬»¹ÓÐÒ»¸öÃû×ÖÓëÖÚ²»Í¬µÄJoe Smith¡£

Õâ¸ö±íµÄÖ÷ÒªÓÃ;ÊǸù¾ÝÖ¸¶¨µÄÓû§ÐÕ¡¢ÃûÒÔ¼°ÄêÁä·µ»ØÏàÓ¦µÄpeopleid¡£ÀýÈ磬ÎÒÃÇ¿ÉÄÜÐèÒª²éÕÒÐÕÃûΪMike Sullivan¡¢ÄêÁä17ËêÓû§µÄpeopleid£¨SQLÃüÁîΪSELECT peopleid FROM people WHERE firstname='Mike' AND lastname='Sullivan' AND age=17;£©¡£ÓÉÓÚÎÒÃDz»ÏëÈÃMySQLÿ´ÎÖ´Ðвéѯ¾ÍȥɨÃèÕû¸ö±í£¬ÕâÀïÐèÒª¿¼ÂÇÔËÓÃË÷Òý¡£

Ê×ÏÈ£¬ÎÒÃÇ¿ÉÒÔ¿¼ÂÇÔÚµ¥¸öÁÐÉÏ´´½¨Ë÷Òý£¬±ÈÈçfirstname¡¢lastname»òÕßageÁС£Èç¹ûÎÒÃÇ´´½¨firstnameÁеÄË÷Òý£¨ALTER TABLE people ADD INDEX firstname (firstname);£©£¬MySQL½«Í¨¹ýÕâ¸öË÷ÒýѸËÙ°ÑËÑË÷·¶Î§ÏÞÖÆµ½ÄÇЩfirstname='Mike'µÄ¼Ç¼£¬È»ºóÔÙÔÚÕâ¸ö¡°Öмä½á¹û¼¯¡±ÉϽøÐÐÆäËûÌõ¼þµÄËÑË÷£ºËüÊ×ÏÈÅųýÄÇЩlastname²»µÈÓÚ¡°Sullivan¡±µÄ¼Ç¼£¬È»ºóÅųýÄÇЩage²»µÈÓÚ17µÄ¼Ç¼¡£µ±¼Ç¼Âú×ãËùÓÐËÑË÷Ìõ¼þÖ®ºó£¬MySQL¾Í·µ»Ø×îÖÕµÄËÑË÷½á¹û¡£

ÓÉÓÚ½¨Á¢ÁËfirstnameÁеÄË÷Òý£¬ÓëÖ´ÐбíµÄÍêȫɨÃèÏà±È£¬MySQLµÄЧÂÊÌá¸ßÁ˺ܶ࣬µ«ÎÒÃÇÒªÇóMySQLɨÃèµÄ¼Ç¼ÊýÁ¿ÈÔ¾ÉÔ¶Ô¶³¬¹ýÁËʵ¼ÊËùÐèÒªµÄ¡£ËäÈ»ÎÒÃÇ¿ÉÒÔɾ³ýfirstnameÁÐÉϵÄË÷Òý£¬ÔÙ´´½¨lastname»òÕßageÁеÄË÷Òý£¬µ«×ܵؿ´À´£¬²»ÂÛÔÚÄĸöÁÐÉÏ´´½¨Ë÷ÒýËÑË÷ЧÂÊÈÔ¾ÉÏàËÆ¡£

ΪÁËÌá¸ßËÑË÷ЧÂÊ£¬ÎÒÃÇÐèÒª¿¼ÂÇÔËÓöàÁÐË÷Òý¡£Èç¹ûΪfirstname¡¢lastnameºÍageÕâÈý¸öÁд´½¨Ò»¸ö¶àÁÐË÷Òý£¬MySQLÖ»ÐèÒ»´Î¼ìË÷¾ÍÄܹ»ÕÒ³öÕýÈ·µÄ½á¹û£¡ÏÂÃæÊÇ´´½¨Õâ¸ö¶àÁÐË÷ÒýµÄSQLÃüÁ

ALTER TABLE people ADD INDEX fname_lname_age (firstname,lastname,age);



ÓÉÓÚË÷ÒýÎļþÒÔB-Ê÷¸ñʽ±£´æ£¬MySQLÄܹ»Á¢¼´×ªµ½ºÏÊʵÄfirstname£¬È»ºóÔÙתµ½ºÏÊʵÄlastname£¬×îºóתµ½ºÏÊʵÄage¡£ÔÚûÓÐɨÃèÊý¾ÝÎļþÈκÎÒ»¸ö¼Ç¼µÄÇé¿öÏ£¬MySQL¾ÍÕýÈ·µØÕÒ³öÁËËÑË÷µÄÄ¿±ê¼Ç¼£¡

ÄÇô£¬Èç¹ûÔÚfirstname¡¢lastname¡¢ageÕâÈý¸öÁÐÉϷֱ𴴽¨µ¥ÁÐË÷Òý£¬Ð§¹ûÊÇ·ñºÍ´´½¨Ò»¸öfirstname¡¢ lastname¡¢ageµÄ¶àÁÐË÷ÒýÒ»ÑùÄØ£¿´ð°¸ÊÇ·ñ¶¨µÄ£¬Á½ÕßÍêÈ«²»Í¬¡£µ±ÎÒÃÇÖ´ÐвéѯµÄʱºò£¬MySQLÖ»ÄÜʹÓÃÒ»¸öË÷Òý¡£Èç¹ûÄãÓÐÈý¸öµ¥ÁеÄË÷Òý£¬ MySQL»áÊÔͼѡÔñÒ»¸öÏÞÖÆ×îÑϸñµÄË÷Òý¡£µ«ÊÇ£¬¼´Ê¹ÊÇÏÞÖÆ×îÑϸñµÄµ¥ÁÐË÷Òý£¬ËüµÄÏÞÖÆÄÜÁ¦Ò²¿Ï¶¨Ô¶Ô¶µÍÓÚfirstname¡¢lastname¡¢ ageÕâÈý¸öÁÐÉϵĶàÁÐË÷Òý¡£

×î×óǰ׺


¶àÁÐË÷Òý»¹ÓÐÁíÍâÒ»¸öÓŵ㣬Ëüͨ¹ý³ÆÎª×î×óǰ׺£¨Leftmost Prefixing£©µÄ¸ÅÄîÌåÏÖ³öÀ´¡£¼ÌÐø¿¼ÂÇÇ°ÃæµÄÀý×Ó£¬ÏÖÔÚÎÒÃÇÓÐÒ»¸öfirstname¡¢lastname¡¢ageÁÐÉϵĶàÁÐË÷Òý£¬ÎÒÃdzÆÕâ¸öË÷ÒýΪfname_lname_age¡£µ±ËÑË÷Ìõ¼þÊÇÒÔϸ÷ÖÖÁеÄ×éºÏʱ£¬MySQL½«Ê¹ÓÃfname_lname_ageË÷Òý£º

firstname£¬lastname£¬age
firstname£¬lastname
firstname



´ÓÁíÒ»·½ÃæÀí½â£¬ËüÏ൱ÓÚÎÒÃÇ´´½¨ÁË(firstname£¬lastname£¬age)¡¢(firstname£¬lastname)ÒÔ¼°(firstname)ÕâЩÁÐ×éºÏÉϵÄË÷Òý¡£ÏÂÃæÕâЩ²éѯ¶¼Äܹ»Ê¹ÓÃÕâ¸öfname_lname_ageË÷Òý£º

SELECT peopleid FROM people WHERE firstname='Mike' AND lastname='Sullivan' AND
age='17'; SELECT peopleid FROM people WHERE firstname='Mike' AND
lastname='Sullivan'; SELECT peopleid FROM people WHERE firstname='Mike'; The
following queries cannot use the index at all: SELECT peopleid FROM people WHERE
lastname='Sullivan'; SELECT peopleid FROM people WHERE age='17'; SELECT peopleid
FROM people WHERE lastname='Sullivan' AND age='17';



Ñ¡ÔñË÷ÒýÁÐ


ÔÚÐÔÄÜÓÅ»¯¹ý³ÌÖУ¬Ñ¡ÔñÔÚÄÄЩÁÐÉÏ´´½¨Ë÷ÒýÊÇ×îÖØÒªµÄ²½ÖèÖ®Ò»¡£¿ÉÒÔ¿¼ÂÇʹÓÃË÷ÒýµÄÖ÷ÒªÓÐÁ½ÖÖÀàÐ͵ÄÁУºÔÚWHERE×Ó¾äÖгöÏÖµÄÁУ¬ÔÚjoin×Ó¾äÖгöÏÖµÄÁС£Çë¿´ÏÂÃæÕâ¸ö²éѯ£º

SELECT age ## ²»Ê¹ÓÃË÷Òý FROM people WHERE firstname='Mike' ## ¿¼ÂÇʹÓÃË÷Òý AND
lastname='Sullivan' ## ¿¼ÂÇʹÓÃË÷Òý



Õâ¸ö²éѯÓëÇ°ÃæµÄ²éѯÂÔÓв»Í¬£¬µ«ÈÔÊôÓÚ¼òµ¥²éѯ¡£ÓÉÓÚageÊÇÔÚSELECT²¿·Ö±»ÒýÓã¬MySQL²»»áÓÃËüÀ´ÏÞÖÆÁÐÑ¡Ôñ²Ù×÷¡£Òò´Ë£¬¶ÔÓÚÕâ¸ö²éѯÀ´Ëµ£¬´´½¨ageÁеÄË÷ÒýûÓÐʲô±ØÒª¡£ÏÂÃæÊÇÒ»¸ö¸ü¸´ÔÓµÄÀý×Ó£º

SELECT people.age, ##²»Ê¹ÓÃË÷Òý town.name ##²»Ê¹ÓÃË÷Òý FROM people LEFT JOIN town ON
people.townid=town.townid ##¿¼ÂÇʹÓÃË÷Òý WHERE firstname='Mike' ##¿¼ÂÇʹÓÃË÷Òý AND
lastname='Sullivan' ##¿¼ÂÇʹÓÃË÷Òý



ÓëÇ°ÃæµÄÀý×ÓÒ»Ñù£¬ÓÉÓÚfirstnameºÍlastname³öÏÖÔÚWHERE×Ó¾äÖУ¬Òò´ËÕâÁ½¸öÁÐÈÔ¾ÉÓд´½¨Ë÷ÒýµÄ±ØÒª¡£³ý´ËÖ®Í⣬ÓÉÓÚtown±íµÄtownidÁгöÏÖÔÚjoin×Ó¾äÖУ¬Òò´ËÎÒÃÇÐèÒª¿¼ÂÇ´´½¨¸ÃÁеÄË÷Òý¡£

ÄÇô£¬ÎÒÃÇÊÇ·ñ¿ÉÒÔ¼òµ¥µØÈÏΪӦ¸ÃË÷ÒýWHERE×Ó¾äºÍjoin×Ó¾äÖгöÏÖµÄÿһ¸öÁÐÄØ£¿²î²»¶àÈç´Ë£¬µ«²¢²»ÍêÈ«¡£ÎÒÃÇ»¹±ØÐ뿼Âǵ½¶ÔÁнøÐбȽϵIJÙ×÷·ûÀàÐÍ¡£MySQLÖ»ÓжÔÒÔϲÙ×÷·û²ÅʹÓÃË÷Òý£º<£¬<=£¬=£¬>£¬>=£¬BETWEEN£¬IN£¬ÒÔ¼°Ä³Ð©Ê±ºòµÄ LIKE¡£¿ÉÒÔÔÚLIKE²Ù×÷ÖÐʹÓÃË÷ÒýµÄÇéÐÎÊÇÖ¸ÁíÒ»¸ö²Ù×÷Êý²»ÊÇÒÔͨÅä·û£¨%»òÕß_£©¿ªÍ·µÄÇéÐΡ£ÀýÈ磬¡°SELECT peopleid FROM people WHERE firstname LIKE 'Mich%';¡±Õâ¸ö²éѯ½«Ê¹ÓÃË÷Òý£¬µ«¡°SELECT peopleid FROM people WHERE firstname LIKE '%ike';¡±Õâ¸ö²éѯ²»»áʹÓÃË÷Òý¡£

·ÖÎöË÷ÒýЧÂÊ


ÏÖÔÚÎÒÃÇÒѾ­ÖªµÀÁËһЩÈçºÎÑ¡ÔñË÷ÒýÁеÄ֪ʶ£¬µ«»¹ÎÞ·¨ÅжÏÄÄÒ»¸ö×îÓÐЧ¡£MySQLÌṩÁËÒ»¸öÄÚ½¨µÄSQLÃüÁî°ïÖúÎÒÃÇÍê³ÉÕâ¸öÈÎÎñ£¬Õâ¾ÍÊÇEXPLAINÃüÁî¡£EXPLAINÃüÁîµÄÒ»°ãÓï·¨ÊÇ£ºEXPLAIN ¡£Äã¿ÉÒÔÔÚMySQLÎĵµÕÒµ½ÓйظÃÃüÁîµÄ¸ü¶à˵Ã÷¡£ÏÂÃæÊÇÒ»¸öÀý×Ó£º

EXPLAIN SELECT peopleid FROM people WHERE firstname='Mike' AND lastname='Sullivan'
AND age='17';



Õâ¸öÃüÁ·µ»ØÏÂÃæÕâÖÖ·ÖÎö½á¹û£º

table type possible_keys key key_len ref rows Extra
people ref fname_lname_age fname_lname_age 102 const,const,const 1 Where used


ÏÂÃæÎÒÃǾÍÀ´¿´¿´Õâ¸öEXPLAIN·ÖÎö½á¹ûµÄº¬Òå¡£

table£ºÕâÊDZíµÄÃû×Ö¡£

type£ºÁ¬½Ó²Ù×÷µÄÀàÐÍ¡£ÏÂÃæÊÇMySQLÎĵµ¹ØÓÚrefÁ¬½ÓÀàÐ͵Ä˵Ã÷£º

¡°¶ÔÓÚÿһÖÖÓëÁíÒ»¸ö±íÖмǼµÄ×éºÏ£¬MySQL½«´Óµ±Ç°µÄ±í¶ÁÈ¡ËùÓдøÓÐÆ¥ÅäË÷ÒýÖµµÄ¼Ç¼¡£Èç¹ûÁ¬½Ó²Ù×÷ֻʹÓüüµÄ×î×óǰ׺£¬»òÕßÈç¹û¼ü²»ÊÇUNIQUE»òPRIMARY KEYÀàÐÍ£¨»»¾ä»°Ëµ£¬Èç¹ûÁ¬½Ó²Ù×÷²»Äܸù¾Ý¼üֵѡÔñ³öΨһÐУ©£¬ÔòMySQLʹÓÃrefÁ¬½ÓÀàÐÍ¡£Èç¹ûÁ¬½Ó²Ù×÷ËùÓõļüֻƥÅäÉÙÁ¿µÄ¼Ç¼£¬ÔòrefÊÇÒ»ÖֺõÄÁ¬½ÓÀàÐÍ¡£¡±

ÔÚ±¾ÀýÖУ¬ÓÉÓÚË÷Òý²»ÊÇUNIQUEÀàÐÍ£¬refÊÇÎÒÃÇÄܹ»µÃµ½µÄ×îºÃÁ¬½ÓÀàÐÍ¡£

Èç¹ûEXPLAINÏÔʾÁ¬½ÓÀàÐÍÊÇ¡°ALL¡±£¬¶øÇÒÄã²¢²»Ïë´Ó±íÀïÃæÑ¡Ôñ³ö´ó¶àÊý¼Ç¼£¬ÄÇôMySQLµÄ²Ù×÷ЧÂʽ«·Ç³£µÍ£¬ÒòΪËüҪɨÃèÕû¸ö±í¡£Äã¿ÉÒÔ¼ÓÈë¸ü¶àµÄË÷ÒýÀ´½â¾öÕâ¸öÎÊÌâ¡£Ô¤Öª¸ü¶àÐÅÏ¢£¬Çë²Î¼ûMySQLµÄÊÖ²á˵Ã÷¡£

possible_keys£º

¿ÉÄÜ¿ÉÒÔÀûÓõÄË÷ÒýµÄÃû×Ö¡£ÕâÀïµÄË÷ÒýÃû×ÖÊÇ´´½¨Ë÷Òýʱָ¶¨µÄË÷Òýêdzƣ»Èç¹ûË÷ÒýûÓÐêdzƣ¬ÔòĬÈÏÏÔʾµÄÊÇË÷ÒýÖеÚÒ»¸öÁеÄÃû×Ö£¨ÔÚ±¾ÀýÖУ¬ËüÊÇ¡°firstname¡±£©¡£Ä¬ÈÏË÷ÒýÃû×ֵĺ¬ÒåÍùÍù²»ÊǺÜÃ÷ÏÔ¡£

Key£º

ËüÏÔʾÁËMySQLʵ¼ÊʹÓõÄË÷ÒýµÄÃû×Ö¡£Èç¹ûËüΪ¿Õ£¨»òNULL£©£¬ÔòMySQL²»Ê¹ÓÃË÷Òý¡£

key_len£º

Ë÷ÒýÖб»Ê¹Óò¿·ÖµÄ³¤¶È£¬ÒÔ×ֽڼơ£ÔÚ±¾ÀýÖУ¬key_lenÊÇ102£¬ÆäÖÐfirstnameÕ¼50×Ö½Ú£¬lastnameÕ¼50×Ö½Ú£¬ageÕ¼2×Ö½Ú¡£Èç¹ûMySQLֻʹÓÃË÷ÒýÖеÄfirstname²¿·Ö£¬Ôòkey_len½«ÊÇ50¡£

ref£º

ËüÏÔʾµÄÊÇÁеÄÃû×Ö£¨»òµ¥´Ê¡°const¡±£©£¬MySQL½«¸ù¾ÝÕâЩÁÐÀ´Ñ¡ÔñÐС£ÔÚ±¾ÀýÖУ¬MySQL¸ù¾ÝÈý¸ö³£Á¿Ñ¡ÔñÐС£

rows£º

MySQLËùÈÏΪµÄËüÔÚÕÒµ½ÕýÈ·µÄ½á¹û֮ǰ±ØÐëɨÃèµÄ¼Ç¼Êý¡£ÏÔÈ»£¬ÕâÀï×îÀíÏëµÄÊý×Ö¾ÍÊÇ1¡£

Extra£º

ÕâÀï¿ÉÄܳöÏÖÐí¶à²»Í¬µÄÑ¡ÏÆäÖдó¶àÊý½«¶Ô²éѯ²úÉú¸ºÃæÓ°Ïì¡£ÔÚ±¾ÀýÖУ¬MySQLÖ»ÊÇÌáÐÑÎÒÃÇËü½«ÓÃWHERE×Ó¾äÏÞÖÆËÑË÷½á¹û¼¯¡£

Ë÷ÒýµÄȱµã


µ½Ä¿Ç°ÎªÖ¹£¬ÎÒÃÇÌÖÂ۵ͼÊÇË÷ÒýµÄÓŵ㡣ÊÂʵÉÏ£¬Ë÷ÒýÒ²ÊÇÓÐȱµãµÄ¡£

Ê×ÏÈ£¬Ë÷ÒýÒªÕ¼ÓôÅÅ̿ռ䡣ͨ³£Çé¿öÏ£¬Õâ¸öÎÊÌâ²»ÊǺÜÍ»³ö¡£µ«ÊÇ£¬Èç¹ûÄã´´½¨Ã¿Ò»ÖÖ¿ÉÄÜÁÐ×éºÏµÄË÷Òý£¬Ë÷ÒýÎļþÌå»ýµÄÔö³¤ËٶȽ«Ô¶Ô¶³¬¹ýÊý¾ÝÎļþ¡£Èç¹ûÄãÓÐÒ»¸öºÜ´óµÄ±í£¬Ë÷ÒýÎļþµÄ´óС¿ÉÄÜ´ïµ½²Ù×÷ϵͳÔÊÐíµÄ×î´óÎļþÏÞÖÆ¡£

µÚ¶þ£¬¶ÔÓÚÐèҪдÈëÊý¾ÝµÄ²Ù×÷£¬±ÈÈçDELETE¡¢UPDATEÒÔ¼°INSERT²Ù×÷£¬Ë÷Òý»á½µµÍËüÃǵÄËÙ¶È¡£ÕâÊÇÒòΪMySQL²»½öÒª°Ñ¸Ä¶¯Êý¾ÝдÈëÊý¾ÝÎļþ£¬¶øÇÒËü»¹Òª°ÑÕâЩ¸Ä¶¯Ð´ÈëË÷ÒýÎļþ¡£

¡¾½áÊøÓï¡¿ÔÚ´óÐÍÊý¾Ý¿âÖУ¬Ë÷ÒýÊÇÌá¸ßËٶȵÄÒ»¸ö¹Ø¼üÒòËØ¡£²»¹Ü±íµÄ½á¹¹ÊǶàô¼òµ¥£¬Ò»´Î500000ÐеıíɨÃè²Ù×÷ÎÞÂÛÈçºÎ²»»á¿ì¡£Èç¹ûÄãµÄÍøÕ¾ÉÏÒ²ÓÐÕâÖÖ´ó¹æÄ£µÄ±í£¬ÄÇôÄãȷʵӦ¸Ã»¨Ð©Ê±¼äÈ¥·ÖÎö¿ÉÒÔ²ÉÓÃÄÄЩË÷Òý£¬²¢¿¼ÂÇÊÇ·ñ¿ÉÒÔ¸Äд²éѯÒÔÓÅ»¯Ó¦Óá£ÒªÁ˽â¸ü¶àÐÅÏ¢£¬Çë²Î¼ûMySQL manual¡£ÁíÍâ×¢Ò⣬±¾Îļٶ¨ÄãËùʹÓõÄMySQLÊÇ3.23°æ£¬²¿·Ö²éѯ²»ÄÜÔÚ3.22°æMySQLÉÏÖ´ÐС£


ËùÊô·ÖÀà£ºÍøÕªÎÄÕÂ
ÒýÓÃͨ¸æµØÖ·£º
GB2312£ºhttp://daxu.net/trackback.php?id=57&encode=gb2312
UTF8£º http://daxu.net/trackback.php?id=57&encode=utf8
ÆÀÂÛ: | ÒýÓÃ: | ä¯ÀÀ£º
·¢±íÆÀÂÛ
Ãû×Ö£º *
ÓÊÏ䣺 ²»¹«¿ª
꿅᣼
ÄÚÈÝ£º *
ÑéÖ¤Â룺
*