¸ßЧSQL²éѯ֮Ë÷Òý£¨II£©
ÉÏ»ØÎÒÃÇ˵µ½ÆÀ¹ÀÒ»ÌõÓï¾äÖ´ÐÐЧÂÊÖ÷Òª¿´Âß¼ IO £¨É¶ÊÇÂß¼ IO £¬É¶ÊÇÎïÀí IO ¼ûÁª»úÎĵµ£©£¬Õâ´ÎÎÒÃǼÌÐø¡£
ÎÒÃÇÏÈ˵˵£¬·µ»Ø¶àÐнá¹ûʱ£¬ÎªÊ²Ã´ SQLServer ÓÐʱ»áÑ¡Ôñ index seek £¬ÓÐʱ»áÑ¡Ôñ index scan ¡£
ÒÔ nonclustered index ΪÀý˵Ã÷¡£
ÏñËùÓеÄË÷Òý B Ê÷Ò»Ñù£¬·Ç¾Û¼¯Ë÷ÒýÊ÷Ò²°üÀ¨ÍêÈ«ÓÉË÷ÒýÊý¾Ý×é³ÉµÄ¸ù½ÚµãºÍÖм伶½Úµã£»µ«ÊǺ;ۼ¯Ë÷ÒýÊ÷²»Í¬µÄÊÇ£¬¾Û¼¯Ë÷ÒýÊ÷Ò¶½Úµã°üº¬µÄÊÇ»ù´¡±íµÄÊý¾ÝÒ³£¨ÎÒÃdz£Ëµ£¬±íµÄÎïÀí´æ´¢Ë³ÐòºÍ¾Û¼¯Ë÷ÒýÏàͬ£¬¾ÍÊÇÕâ¸öÔÒò£©,·Ç¾Û¼¯Ë÷ÒýÊ÷Ò¶½ÚµãÊÇË÷ÒýÒ³¡£ SQLServer ͨ¹ý·Ç¾Û¼¯Ë÷Òý²éÕÒÊý¾Ýʱ£¬»áͨ¹ýÕâ¸ö·Ç¾Û¼¯Ë÷Òý¼üֵȥËÑË÷¾Û¼¯Ë÷Òý£¬½ø¶ø¼ìË÷»ù´¡±íÊý¾ÝÐС£
¼ÙÉèÓÐÕâÑùÒ»ÕÅ±í£¬·Ç¾Û¼¯Ë÷ÒýÊ÷Éî¶ÈΪ 2 £¬Ò»²ã¸ù½Úµã£¨ 1 ¸öË÷ÒýÒ³£©£¬Ò»²ãÒ¶½Úµã£¨ 4 ¸öË÷ÒýÒ³£©¡£¾Û¼¯Ë÷ÒýÊ÷Éî¶ÈΪ 3 £¬Ò»²ã¸ù½Úµã£¨ 1 ¸öË÷ÒýÒ³£©£¬Ò»²ãÖм伶½Úµã£¨ 2 ¸öË÷ÒýÒ³£©£¬Ò»²ãÒ¶½Úµã£¨ 250 Ò³£¬Ò²¾ÍÊÇ»ù´¡±íÎïÀí´æ´¢Ò³£©±íµÄÊý¾Ý¼ÙÉè 1w ÐС£×¢£ºËùÓÐÊý¾Ý¾ùΪ¼ÙÉ裬ֻΪ˵Ã÷ÔÀí¡£
ÎÒÃÇÊ×ÏÈ£¬ÔÙÇ¿µ÷Ò»±é£¬ SQLServer »ñÈ¡Êý¾Ý£¬×ÜÊÇÒÔҳΪµ¥Î»£¬¾ÍËãÊÇÖ»¶ÁÈ¡Ò»ÐÐÒ²»á»ñÈ¡ÕûÕÅÒ³ £¨¼û¡¶Ð´ÓÐЧÂ浀 SQL ²éѯ£¨ I £©¡·£©
ÏÖÔÚÓÐÒ»Ìõ¼òµ¥²éѯ ( È磺 select * from tb where col2 = 99 £¬ col2 ÊÇ tb ±íÖеķǾۼ¯Ë÷Òý ) £¬¼ÙÉè»á·µ»Ø 100 ÐС£
Ok £¬ÎÒÃÇÀ´·ÖÎöÈç¹ûÒÔ Index seek À´²éÕÒÕâ 100 ÐлáÓжàÉÙ IO ¡£ index seek ÿ´Î¶¼´ÓË÷ÒýÊ÷¸ù½Úµã¿ªÊ¼²éÕÒ£¬ÕÒµ½Öм伶½Úµã£¨ 99 ¶ÔÓ¦µÄË÷ÒýÐУ©£¬È»ºó´Ó¸Ã½ÚµãÐпªÊ¼Á¬Ðø±éÀúËùÓÐ col2 Ϊ 99 µÄË÷ÒýÐС£ÔÚ±éÀúÕâЩÐÐʱ£¬Ã¿Äõ½Ò»Ìõ£¬¶¼»áͨ¹ý¸ÃÌõË÷ÒýÐÐÖоۼ¯Ë÷Òý¼üֵȥ¾Û¼¯Ë÷ÒýÊ÷ÖÐ index seek £¬È»ºó´ÓÊý¾ÝÒ³ÖлñÈ¡Êý¾Ý¡£ÔÚ×µÄÇé¿öÏ£¬ col2 Ϊ 99 ¶ÔÓ¦µÄË÷ÒýÐпçÔ½ÁËÈ«²¿ 4 ¸öÒ¶¼¶·Ç¾Û¼¯Ë÷ÒýÒ³£¨µ±È»£¬Õâûɶ¿ÉÄÜÐÔ£¬¾ÙÀý¶øÒÑ£¬ÇÐÎðÉ£©£»Ã¿´Îͨ¹ý¾Û¼¯Ë÷ÒýÊ÷½øÐÐ index seek £¬ IO ¿ªÏú×Çé¿öÏÂÊÇÒ»¸ö¸ù½Úµã£¬Ò»¸öÖм伶½Úµã£¬Ò»¸öÊý¾ÝÒ³ , Ò»¹²Òª seek100 ´Î£¬¿ªÏú 300 ¸öÂß¼ IO ¡£×ÛÉÏ£¬Í¨¹ý nonclustered index seek ×ܹ²¿ªÏúÊÇ 305 ¸ö IO ¡£
ÒªÖªµÀ£¬ÎÒÃǵĻù´¡±íÊý¾ÝÒ³Ò»¹²²Å 250 Ò³£¬Õâ˵Ã÷ÁËɶ£¿ËµÃ÷¾ÍËãÊÇÎÒ´ÓÍ·µ½Î²É¨ÃèÒ»±é±íÒ²±È noncustered index seek ¿ì¡£Õâʱ£¬ SQL2k5 »á²úÉúÒ»¸öÍêÍêÈ«È«µÄ clustered index scan Ö´Ðмƻ®À´¸ã¶¨±íɨÃè¡£
ºÃÁË£¬ÏÖÔÚÎÒÃÇÔÙÀ´·ÖÎö select * from tb1 where col2 = 1 ¡£¼ÙÉèËüµÄ½á¹û¼¯Îª 5 ÐС£Èç¹ûÕâʱ»¹Êǽ
Ïà¹ØÎĵµ£º
SQL ServerÁ¬½ÓÖеÄËĸö×î³£¼û´íÎó:
Ò»."SQL Server ²»´æÔÚ»ò·ÃÎʱ»¾Ü¾ø"
Õâ¸öÊÇ×ÔÓµÄ,´íÎó·¢ÉúµÄÔÒò±È½Ï¶à,ÐèÒª¼ì²éµÄ·½ÃæÒ²±È½Ï¶à.
Ò»°ã˵À´,ÓÐÒÔϼ¸ÖÖ¿ÉÄÜÐÔ:
1,SQL ServerÃû³Æ»òIPµØַƴдÓÐÎó
2,·þÎñÆ÷¶ËÍøÂçÅäÖÃÓÐÎó
3,¿Í»§¶ËÍøÂçÅäÖÃÓÐÎó
Òª½â¾öÕâ¸öÎÊÌâ,ÎÒÃÇÒ»°ãÒª×ñÑÒÔϵIJ½ÖèÀ´Ò»²½²½ÕÒ³öµ¼Ö´íÎóµ ......
SQL code
ÈÎÎñµ÷¶È
ÆóÒµ¹ÜÀíÆ÷
--¹ÜÀí
--SQL Server´úÀí
--ÓÒ¼ü×÷Òµ
--н¨×÷Òµ
--"³£¹æ"ÏîÖÐÊäÈë×÷ÒµÃû³Æ
--"²½Öè"Ïî
--н¨
--"²½ÖèÃû"ÖÐÊäÈë²½ÖèÃû
--"ÀàÐÍ"ÖÐÑ¡Ôñ"Transact-SQL ½Å±¾(TSQL)"
--"Êý¾Ý¿â"Ñ¡ÔñÖ´ÐÐÃüÁîµÄÊý¾Ý¿â
--"ÃüÁî"ÖÐÊäÈëÒªÖ´ÐеÄÓï¾ä:
insert b.dbo.tablename ......
Èç¹ûÄãÕýÔÚ¸ºÔðÒ»¸ö»ùÓÚSQL ServerµÄÏîÄ¿£¬»òÕßÄã¸Õ¸Õ½Ó´¥SQL Server£¬Ä㶼ÓпÉÄÜÒªÃæÁÙһЩÊý¾Ý¿âÐÔÄܵÄÎÊÌ⣬ÕâƪÎÄÕ»áΪÄãÌṩһЩÓÐÓõÄÖ¸µ¼£¨ÆäÖдó¶àÊýÒ²¿ÉÒÔÓÃÓÚÆäËüµÄDBMS£©¡£
ÔÚÕâÀÎÒ²»´òËã½éÉÜʹÓÃSQL ServerµÄÇÏÃÅ£¬Ò²²»ÄÜÌṩһ¸ö°üÖΰٲ¡µÄ·½°¸£¬ÎÒËù×öµÄÊÇ×ܽáһЩ¾Ñé----¹ØÓÚÈçºÎÐγÉÒ»¸öºÃµÄÉè¼Æ¡£Õ ......
»¹ÊÇһתÌû£¬×ܽáµÄ²»´í£¬´ó¼Ò½è¼ø¡£
ÔÍøÖ·£º
http://database.ctocio.com.cn/222/9068222.shtml
1¡¢Ã»ÓÐË÷Òý»òÕßûÓÐÓõ½Ë÷Òý(ÕâÊDzéѯÂý×î³£¼ûµÄÎÊÌ⣬ÊdzÌÐòÉè¼ÆµÄȱÏÝ)
¡¡¡¡2¡¢I/OÍÌÍÂÁ¿Ð¡£¬ÐγÉÁËÆ¿¾±Ð§Ó¦¡£
¡¡¡¡3¡¢Ã»Óд´½¨¼ÆËãÁе¼Ö²éѯ²»ÓÅ»¯¡£
¡¡¡¡4¡¢ÄÚ´æ²»×ã
¡¡¡¡5¡¢ÍøÂçËÙ¶ÈÂý
¡¡¡¡6¡¢²éѯ³ö ......
SELECT
(case when a.colorder=1 then d.name else '' end)±íÃû,
a.colorder ×Ö¶ÎÐòºÅ,
a.name ×Ö¶ÎÃû,
(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity ......