ÈçºÎд³ö¸ßÐÔÄܵÄMySQL²éѯ
ÏëдÕâÑùһƪÎÄÕºܾÃÁË£¬µ«Ê¼ÖÕûÓÐÏÂÊÖ¡£×î½ü°ïͬÊ¿´Á˼¸¸ö²éѯ£¬¶øÇÒ×Ô¼ºÒ²ÔÚ¿¼ÂÇÒ»¸öË÷ÒýϵͳµÄÎÊÌ⣬ËùÒÔ½ñÌì¾Í°ÑÕâ¸öдÁË¡£½éÉÜÒ»ÏÂMySQLµÄË÷Òý»úÖÆ£¬»¹ÓÐһЩMySQL²éѯµÄÓÅ»¯²ßÂÔ¡£±ÉÈ˲ÅÊèѧdz£¬ºÜ¿ÉÄÜ˵µÄ²»¶Ô£¬Çë·¹ýµÄ¸÷λ´óÏÀÅúÆÀÖ¸Õý£¬Ï׳óÁË¡£
------------------- jiajun.org ¹Ù·½·Ö¸îÏß ---------------------
Ê×ÏÈ£¬ËµËµMySQLµÄË÷Òý´æ´¢·½Ê½¡£MySQLµÄË÷ÒýÒ»°ãÊÇB-TreeµÄ½á¹¹´æ´¢µÄ£¬ÄÚ´æ±íÒ²ÓÐHashË÷Òý£¬µ«ÊÇÄÚ´æ±íµÄ³ö¾µÂÊËƺõÒѾµÍµ½ÁËÓÓ¿ÉÁ¯”À´ÐÎÈݵij̶ȣ¬ËùÒÔÎÒÃÇÖ»¿¼ÂÇB-TreeË÷Òý¡£
È»ºó˵˵MySQLµÄÁªºÏË÷Òý¡£ÁªºÏË÷Òý¶ÔÓÚÒ»¸öDBMS×ÜÊǷdz£ÖØÒªµÄ£¬ÒòΪÿһÌõSQLÓï¾äµÄÌõ¼þ×Ó¾äÊǵ¥Ìõ¼þµÄ¿ÉÄÜÐÔºÜС£¬´ó¶àÊýÇé¿öÏÂΪ×éºÏÌõ¼þ£¬Òò´Ë¶ÔÓÚ×éºÏË÷ÒýµÄÒÀÀµÒ²¾ÍºÜÇ¿¡£MySQL¶ÔÓÚÁªºÏË÷ÒýµÄ´´½¨¹æÔòͨ¹ýÒ»¸öÀý×Ó˵Ã÷£º
¶ÔÓÚÒ»¸öÔÚÁУºcol_a, col_bºÍcol_cÉϵÄÁªºÏË÷Òý£¬MySQL»á½¨Á¢
INDEX(col_a), INDEX(col_a, col_b)ºÍINDEX(col_a, col_b, col_c)
ÕâÑùÈý¸öË÷Òý¡£
½éÉÜÍêһЩ»ù±¾ÔÀí£¬ÎÒÃÇÀ´¿´MySQL¶ÔÓÚË÷ÒýµÄÑ¡È¡¹æÔòºÍË÷ÒýµÄ½¨Á¢ÔÔò£¨ÕâЩ¹æÔò¶¼ÊǸöÈË×ܽáµÄ£¬¶àÀ´Ô´ÓÚ»¥ÁªÍø£¬Ò²ÓÐ×Ô¼ºµÄ¾Ñ飩¡£
¶ÔÓÚµ¥¸öË÷Òý£¬Ò»°ãÀ´ËµMySQLµÄ²éѯÓÅ»¯Æ÷×ÜÄÜÔÚÈô¸É²éѯÌõ¼þÖÐѡȡЧÂʽϸߵÄÒ»¸öʹÓã¬ËùÒÔ²»±ØͶÈëÌ«¶à¾«Á¦£¬Ò»°ãÀ´Ëµ²éѯÈÝÒ׳öÏÖµÄÎÊÌâÈÝÒ׳öÏÖÔÚÁªºÏË÷Òý¡£ÕâÀïÒÔÒ»¸öÁ½ÁеÄË÷ÒýΪÀý£¬ËµÃ÷һЩÎÊÌâ¡£
ÀýÈ磺
idx_a_b (col_a, col_b)
½¨Á¢×öºÍË÷ÒýµÄÁнøÐÐor×éºÏ²»¿ÉʹÓÃË÷Òý
ÀýÈ磺ÓÐÌõ¼þ
col_a = val_a OR col_b = val_b
Õâ¸öÌõ¼þ£¬ÊDz»¿ÉÒÔʹÓÃidx_a_bË÷ÒýµÄ¡£È»¶øͬÑùµÄ²éѯ¶ÔÓÚÈ´¿ÉÒÔʹÓÃÕâÑùµÄË÷Òýidx_a(col_a)»òÕßidx_b(col_b)µÄ£¬Òò´ËÔÚ½¨Á¢Ë÷ÒýµÄʱºò¾ÍÒª¿¼Âǵ½³ö¾µÂÊ×î¸ßµÄÌõ¼þÊÇʲô£¬½¨Á¢ÔõÑùµÄË÷Òý¡£¶øÈç¹ûͬʱ´æÔÚidx_aºÍidx_bÁ½¸öË÷ÒýµÄ»°£¬MySQLÒ²Ö»»áÑ¡ÔñÒ»¸öʹÓ㬾¡¿ÉÄÜʹÓÃË÷Òý°Ñ½á¹û¼¯ËõС£¬ÔÙÔÚÕâ¸ö½á¹û¼¯ÖбéÀú£¬Ê¹ÓÃÆäËûÌõ¼þɸѡ¡£
ÁªºÏË÷Òý¶Ô·Çǰ׺Áв»ÉúЧ
ÀýÈ磺Ìõ¼þcol_b = val_bÕâ¸öÌõ¼þÊDz»»áʹÓÃÕâ¸öË÷ÒýµÄ£¬ÒòΪË÷Òýidx_a_bµÄǰ׺ÁÐÊÇcol_a¡£Òò´ËÔÚ½¨Ë÷ÒýµÄʱºò£¬¾ÍҪעÒâµ½£¬ÊÇ·ñÓкܶàʹÓÃÕâÖÖÌõ¼þµÄ²éѯ£¬ÐèҪΪcol_bµ¥¶À½¨Á¢Ë÷Òý¡£
¶ÔÓÚ×éºÏË÷Òý£¬Óöµ½·¶Î§²éѯÔò·ÅÆúʹÓÃÊ£Óಿ·Ö
ÀýÈ磺Ìõ¼þ
col_a = val_a AND col_b = val_b
ÊÇ¿ÉÒÔʹÓÃÕû¸öË÷Òý£¬¶ø¶ÔÓÚ
col_a BETWEEN val_a_left AND val_a_right AND col_b = val_b
Õâ¸öÌõ¼þ£¬Ö»»áʹÓÃË÷ÒýµÄcol_
Ïà¹ØÎĵµ£º
1.°²×°MySQL£¨ÂÔ£©
2.Æô¶¯¶à¸öMySQL·þÎñÆ÷
ҪʵÏÖÔÚµ¥»úÉÏÆô¶¯¶à¸öMySQL·þÎñÆ÷£¬ÓÐÁ½ÖÖ·½·¨£¬Ò»ÖÖÊÇÖ±½ÓʹÓÃmysqld_safeÀ´ÔËÐжà¸ö·þÎñÆ÷
µ±È»ÕâÑù·Ö±ð±à¼ÅäÖÃÎļþ£¬¶øÇҹرշþÎñÆ÷µÄʱºòÒ²Òª¶ÁÈ¡ÅäÖÃÎļþ£¬ËùÒԱȽÏÂé·³£¬ÁíÒ»ÖÖ·½·¨ÊÇʹÓÃ
MySQLÌṩµ½¹¤¾ßmysqld_multi½Å±¾À´¹ÜÀí¶à¸ö·þÎñÆ÷£¬ÏÂÃæ ......
1.Èç¹û¿Í»§¶ËºÍ·þÎñÆ÷¶ËµÄÁ¬½ÓÐèÒª¿çÔ½²¢Í¨¹ý²»¿ÉÐÅÈεÄÍøÂ磬ÄÇô¾ÍÐèҪʹÓÃSSHËíµÀÀ´¼ÓÃܸÃÁ¬½ÓµÄͨÐÅ¡£
¡¡¡¡2.ÓÃset passwordÓï¾äÀ´ÐÞ¸ÄÓû§µÄÃÜÂ룬Èý¸ö²½Ö裬ÏÈ“mysql -u root”µÇ½Êý¾Ý¿âϵͳ£¬È»ºó“mysql> update mysql.user s ......
InnoDB¸ÅÊö
InnoDB¸øMySQLÌṩÁ˾ßÓÐÌá½»£¬»Ø¹öºÍ±ÀÀ£»Ö¸´ÄÜÁ¦µÄÊÂÎñ°²È«£¨ACID¼æÈÝ£©´æ´¢ÒýÇæ¡£InnoDBËø¶¨ÔÚÐм¶²¢ÇÒÒ²ÔÚSELECTÓï¾äÌṩһ¸öOracle·ç¸ñÒ»ÖµķÇËø¶¨¶Á¡£ÕâЩÌØÉ«Ôö¼ÓÁ˶àÓû§²¿ÊðºÍÐÔÄÜ¡£Ã»ÓÐÔÚInnoDBÖÐÀ©´óËø¶¨µÄÐèÒª£¬ÒòΪÔÚInnoDBÖÐÐм¶Ëø¶¨ÊʺϷdz£Ð¡µÄ¿Õ¼ä¡£InnoDBÒ²Ö§³ÖFOREIGN KEYÇ¿ÖÆ¡£ÔÚSQL²éÑ¯Ö ......
°²×°mysql
sudo apt-get install mysql-server #Ö±½Ó×Ô¶¯»ñµÃ¿ÉÓð汾
Ò²¿ÉÒÔÕâÑùд
sudo apt-get install mysql-server-5.0 #°²×°mysql·þÎñÆ÷5.0°æ±¾
°²×°ºó
/etc/init.d/mysql start (stop) ΪÆô¶¯ºÍÍ£Ö¹·þÎñÆ÷
/etc/mysql/ Ö÷ÒªÅäÖÃÎļþËùÔÚλÖà my.cnf
/var/lib/mysql/ ·ÅÖõÄÊÇÊý¾Ý¿â±íÎļþ¼Ð£¬ÕâÀïµÄm ......