ÈçºÎд³ö¸ßÐÔÄܵÄ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_
Ïà¹ØÎĵµ£º
SQL Injection with MySQL
±¾ÎÄ×÷Õߣºangel
ÎÄÕÂÐÔÖÊ£ºÔ´´
·¢²¼ÈÕÆÚ£º2004-09-16
±¾ÎÄÒѾ·¢±íÔÚ¡¶ºÚ¿Í·ÀÏß¡·7Ô¿¯£¬×ªÔØÇë×¢Ã÷¡£ÓÉÓÚдÁ˺ܾã¬Ëæ×ż¼ÊõµÄ½ø²½£¬±¾ÈËÒ²·¢ÏÖ¸ÃÎÄÀïÓв»ÉÙ´íÎóºÍÂÞàµĵط½¡£Çë¸÷λ¸ßÊÖ¿´Á˲»ÒªÐ¦¡£±¾ÎÄдÓÚ¡¶Advanced SQL Injection with MySQL¡·Ö®Ç°Ò»¸öÔ¡£
ÉùÃ÷
¡¡¡¡±¾ÎĽöÓÃÓÚ½ ......
1 ÉèÖÃphpMyAdmin
Language£ºChinese simplified (zh-utf-8)
MySQL ×Ö·û¼¯£ºUTF-8 Unicode (utf8)
MySQL Á¬½ÓУ¶Ô£ºgbk_chinese_ci
2 ´´½¨Êý¾Ý¿âʱ
ÕûÀíÉèÖÃ³É gbk_chinese_ci
3 ÓÃSQL½¨Á¢±íÖÐ
ENGINE=MyISAM DEFAULT CHARSET=gbk;
ENGINE=InnoDB DEFAULT CHARSET=gbk ......
×î½üÏëÔÚ·þÎñÆ÷ÉÏÊÔÊÔ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] £¬Ìí ......
(1)µÇ½µ½mysql
C:\Documents and Settings\Administrator>mysql -h localhost -u root -p
Enter password: *****
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 69
Server version: 5.0.51a-community-nt MySQL Community Edition (GPL)
Type 'help;' or '\h' fo ......