ÈçºÎд³ö¸ßÐÔÄܵÄ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_
Ïà¹ØÎĵµ£º
InnoDB ¸ø MySQL ÌṩÁ˾ßÓÐÊÂÎñ(commit)¡¢»Ø¹ö(rollback)ºÍ±ÀÀ£ÐÞ¸´ÄÜÁ¦(crash recovery capabilities)¡¢¶à°æ±¾²¢·¢¿ØÖÆ(multi-versioned concurrency control)µÄÊÂÎñ°²È«(transaction-safe (ACID compliant))ÐÍ±í¡£InnoDB ÌṩÁËÐм¶Ëø(locking on row level)£¬ÌṩÓë Oracle ÀàËÆµÄ²»¼ÓËø¶ÁÈ¡(non-locking read in SELEC ......
×î½ü×öÁ˼¸ÖܵÄLoadRunner²âÊÔ£¬ÓÐһЩÐĵ㬼ǼÏÂÀ´£¬ÒÔ±ãÒÔºó²éÕÒ¡£
LoadRunner²âÊÔÊý¾Ý¿âÊÇÄ£Äâ¿Í»§¶ËÈ¥Á¬½ÓÊý¾Ý¿â·þÎñÆ÷£¬Òò´Ë£¬ÐèÒªÐÒ飨»òÕß˵Çý¶¯µÄÖ§³Ö£©¡£LoadRunner±¾ÉíÖ±½ÓÖ§³ÖOracle¡¢SqlServerÊý¾Ý¿â£¬ÕâÁ½¸öÊý¾Ý¿âÖ±½ÓÑ¡ÔñÏàÓ¦µÄÐÒé¾Í¿ÉÒÔÂ¼ÖÆ½Å±¾¡£¶øMySqlÊý¾Ý¿â ......
°²×°ºÃ mysqlºóÔÚÖÕ¶ËÊäÈëÃüÁîmysql -s root -p
ÏÔʾ£º
Access denied for user 'star'@'localhost' (using password: YES)
ÊÇ·þÎñ»¹Ã»¿ªÆô£¬ÊäÈ룺sudo /etc/init.d/mysql start
È»ºóÊäÈë mysql -uroot -p µÇ¼³É¹¦
ÖÐÎÄÎÊÌâ
Ubuntu 7.04 ÏÂÓÃÔ´°²×°ÁËMySQL¡£Ä¬ÈÏÇé¿öÏ£¬ÓÃmysql shellµÇ¼´´½¨Êý¾Ý¿â´´½¨±í²åÈëÖÐÎ ......
×î½üÏëÔÚ·þÎñÆ÷ÉÏÊÔÊÔMySQL5.1µÄ·ÖÇø£¬ÓÚÊǾÍÏë×Å×°¸öMySQL5.1£¬¾¹ýÍ´¿àµÄÒ»¶Î¾Àúºó£¬ÖÕÓÚÕÒ¸öÏÂÃæ×°¸öºÜºÃµÄ½Ì³Ì£¬ÌûÉÏÀ´±¸Íü¡£
1¡¢MySQLÃâ°²×°°æ/¶þ½øÖưæÈí¼þ£¬²»ÓñàÒ룬ÏÂÔØµØÖ·£º
http://dev.mysql.com/downloads/
Îļþ¸ñʽ£ºMYSQL-VERSION-OS.tar.gz
2¡ ......
1)¡¢È¥sunµÄ¹ÙÍøÏÂÔØÒ»¸ömysqlµÄѹËõ°ü£¬ÎÒÏÂÔØµÄÊÇmysql-noinstall-5.5.0-m2-win32.zip¡£
2)¡¢°ÑÉÏÃæÏÂÔØµÄѹËõ°ü½âѹµ½£ºD:\Program Files\mysqlÏÂÃæ¡£
3)¡¢ÔÚ D:\Program Files\mysql\ ÖÐÕÒ my-large.ini °ÑËü¸´ÖÆ³É my.ini¡£
4)¡¢ÔÚ my.ini ÖÐÕÒ [mysqld] £¬Ìí ......