Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

SQL Server 2005 ÖеķÖÇø±íºÍË÷Òý [2]

·ÖÇøµÄ·¢Õ¹ÀúÊ·
·ÖÇøµÄ¸ÅÄî¶Ô SQL Server À´Ëµ²¢²»Ä°Éú¡£Êµ¼ÊÉÏ£¬´Ë²úÆ·µÄÿ¸ö°æ±¾Öж¼¿ÉÒÔʵÏÖ²»Í¬ÐÎʽµÄ·ÖÇø¡£µ«ÊÇ£¬ÓÉÓÚûÓÐΪÁË°ïÖúÓû§´´½¨ºÍά»¤·ÖÇø¼Ü¹¹¶øרÃÅÉè¼ÆһЩ¹¦ÄÜ£¬Òò´Ë·ÖÇøÒ»Ö±ÊÇÒ»¸öºÜ·±ËöµÄ¹ý³Ì£¬Ã»Óеõ½³ä·ÖµÄÀûÓ᣶øÇÒ£¬Óû§ºÍ¿ª·¢ÈËÔ±¶Ô´Ë¼Ü¹¹´æÔÚÎó½â£¨ÓÉÓÚÆäÊý¾Ý¿âÉè¼Æ±È½Ï¸´ÔÓ£©£¬µÍ¹ÀÁËËüµÄÓŵ㡣µ«ÊÇ£¬ÓÉÓÚ¸ÅÄîÖйÌÓеÄÖØÒªÐÔÄܸÄÉÆ£¬SQL Server 7.0 ¿ªÊ¼Í¨¹ý·ÖÇøÊÓͼʵÏÖ¸÷ÖÖ·ÖÇø·½Ê½£¬ÒÔ´ËÀ´¸Ä½øÕâÖÖ¹¦ÄÜ¡£ÏÖÔÚ£¬SQL Server 2005 Ϊͨ¹ý·ÖÇø±í¶Ô´óÐÍÊý¾Ý¼¯½øÐзÖÇøÓÖÂõ³öÁË×î´óµÄÒ»²½¡£
¶Ô SQL Server 7.0 ֮ǰµÄ°æ±¾ÖеĶÔÏó½øÐзÖÇø
ÔÚ SQL Server 6.5 ¼°ÒÔÇ°µÄ°æ±¾ÖУ¬·ÖÇøÖ»ÄÜͨ¹ýÉè¼ÆÀ´Íê³É£¬»¹±ØÐëÄÚÖõ½ËùÓÐÊý¾Ý·ÃÎʱàÂëºÍ²éѯ·½·¨ÖС£Í¨¹ý´´½¨¶à¸ö±í£¬È»ºóͨ¹ý´æ´¢¹ý³Ì¡¢ÊÓͼ»ò¿Í»§¶ËÓ¦ÓóÌÐò¹ÜÀí¶ÔÕýÈ·±íµÄ·ÃÎÊ£¬Í¨³£¿ÉÒÔ¸ÄÉÆijЩ²Ù×÷µÄÐÔÄÜ£¬µ«´ú¼ÛÊÇÔö¼ÓÁËÉè¼ÆµÄ¸´ÔÓÐÔ¡£Ã¿¸öÓû§ºÍ¿ª·¢ÈËÔ±¶¼±ØÐëÖªµÀ£¨²¢ÕýÈ·ÒýÓã©ÕýÈ·µÄ±í¡£µ¥¶À´´½¨ºÍ¹ÜÀíÿ¸ö·ÖÇø£¬¶øʹÓÃÊÓͼÀ´¼ò»¯·ÃÎÊ£»µ«ÊÇÕâÖÖ½â¾ö·½°¸¶ÔÐÔÄܲ¢Ã»ÓÐÌ«´óµÄ¸ÄÉÆ¡£Ê¹ÓÃÁªºÏÊÓͼ¼ò»¯Óû§ºÍÓ¦ÓóÌÐò·ÃÎÊʱ£¬²éѯ´¦ÀíÆ÷±ØÐë·ÃÎÊÿ¸ö»ù´¡±í²ÅÄÜÈ·¶¨½á¹û¼¯ËùÐèµÄÊý¾Ý¡£Èç¹ûÖ»ÐèÒª»ù´¡±íµÄÓÐÏÞ×Ó¼¯£¬Ôòÿ¸öÓû§ºÍ¿ª·¢ÈËÔ±¶¼±ØÐëÁ˽â´ËÉè¼Æ£¬ÒÔ±ãÖ»ÒýÓÃÏàÓ¦µÄ±í¡£
SQL Server 7.0 ÖеķÖÇøÊÓͼ
ÔÚ SQL Server 7.0 ֮ǰµÄ°æ±¾ÖУ¬ÊÖ¶¯´´½¨·ÖÇøËùÃæÁÙµÄÌôÕ½Ö÷ÒªÓëÐÔÄÜÓйء£¾¡¹ÜÊÓͼ¿ÉÒÔ¼ò»¯Ó¦ÓóÌÐòÉè¼Æ¡¢Óû§·ÃÎʺͲéѯµÄ±àд£¬µ«È´ÎÞ·¨¸ÄÉÆÐÔÄÜ¡£¶øÔÚ SQL Server 7.0 °æ±¾ÖУ¬ÊÓͼ½áºÏÁËÔ¼Êø£¬ÔÊÐí²éѯÓÅ»¯³ÌÐò´Ó²éѯ¼Æ»®ÖÐɾ³ý²»Ïà¹ØµÄ±í£¨¼´·ÖÇøÏû³ý£©£¬´ó´ó½µµÍÁËÁªºÏÊÓͼ·ÃÎʶà¸ö±íʱµÄ×ܼƻ®³É±¾¡£
Çë²Î¼ûͼ 1 ÖÐµÄ YearlySales ÊÓͼ¡£Äú¿ÉÒÔ¶¨ÒåÊ®¶þ¸öµ¥¶ÀµÄ±í£¨Èç SalesJanuary2003¡¢SalesFebruary2003 µÈ£©£¬È»ºó¶¨Òåÿ¸ö¼¾¶ÈµÄÊÓͼÒÔ¼°È«ÄêµÄÊÓͼ YearlySales£¬¶ø²»Êǽ«ËùÓÐÏúÊÛÊý¾Ý·Åµ½Ò»¸ö´óÐͱíÖС£
ͼ 1£ºSQL Server 7.0/2000 ÖеķÖÇøÊÓͼ
ʹÓÃÒÔϲéѯ·ÃÎÊ YearlySales ÊÓͼµÄÓû§Ö»»á±»Òýµ¼ÖÁ SalesJanuary2003 ±í¡£
SELECT ys.*
from dbo.YearlySales AS ys
WHERE ys.SalesDate = '20030113'
Ö»ÒªÔ¼Êø¿ÉÐŲ¢ÇÒ·ÃÎÊÊÓͼµÄ²éѯʹÓà WHERE ×Ó¾ä¸ù¾Ý·ÖÇø¼ü£¨¶¨ÒåÔ¼ÊøµÄÁУ©ÏÞÖƲéѯ½á¹û£¬SQL Server ¾Í»áÖ»·ÃÎʱØÐèµÄ»ù´¡±í¡£ÊÜÐÅÈεÄÔ¼ÊøÊÇÖ¸ SQL Server Äܹ»È·±£ËùÓÐÊý¾Ý·ûºÏ¸ÃÔ¼ÊøËù¶¨ÒåµÄÊôÐÔµÄÔ¼Êø¡£´´½¨Ô¼Êøʱ£¬Ä¬ÈÏÐÐ


Ïà¹ØÎĵµ£º

SQL Server ֪ʶ»ýÀÛ

varcharºÍnvarcharÈçºÎÑ¡Ôñ£º
varcharÔÚSQL ServerÖÐÊDzÉÓõ¥×Ö½ÚÀ´´æ´¢Êý¾ÝµÄ£¬nvarcharÊÇʹÓÃUnicoÀ´´æ´¢Êý¾ÝµÄ¡£ÖÐÎÄ×Ö·û´æ´¢µ½SQL ServerÖлᱣ´æΪÁ½¸ö×Ö½Ú£¨Ò»°ã²ÉÓÃUnico±àÂ룩£¬Ó¢ÎÄ×Ö·û±£´æµ½Êý¾Ý¿âÖУ¬Èç¹û×ֶεÄÀàÐÍΪvarchar£¬ÔòÖ»»áÕ¼ÓÃÒ»¸ö×Ö½Ú£¬¶øÈç¹û×ֶεÄÀàÐÍΪnvarchar£¬Ôò»áÕ¼ÓÃÁ½¸ö×Ö½Ú¡£ËäȻʹÓÃnva ......

ÓÃÒ»¸öSQLÓï¾äʵÏÖ²åÈë¶àÐÐÊý¾ÝµÄ¹¦ÄÜ

insert into A ±í select * from B ±í;
ÔÚoracleÖУ¬Ã¿¸öÓû§Ö»ÄܲÙ×÷×Ô¼ºµÄ±í£¬Òª²Ù×÷ÆäËûÓû§µÄ±íÊÇÐèÒªÆäËûÓû§¸³È¨Ï޵ġ£
grant ȨÏÞ on table to user;
   eg:grant select on table to newuser;
ÈôÒª½øÐÐÁ¬½Ó¾ÍÒªÊÚÓè(resource connect Á½¸ö½ÇÉ«) ......

SQL²éѯË÷ÒýÓÅ»¯

½¨Á¢Ë÷Òý
£¨Ò»£©ÉîÈëdz³öÀí½âË÷Òý½á¹¹
ʵ¼ÊÉÏ£¬Äú¿ÉÒÔ°ÑË÷ÒýÀí½âΪһÖÖÌØÊâµÄĿ¼¡£Î¢ÈíµÄSQL SERVERÌṩÁËÁ½ÖÖË÷Òý£º¾Û¼¯Ë÷Òý£¨clustered index£¬Ò²³Æ¾ÛÀàË÷Òý¡¢´Ø¼¯Ë÷Òý£©ºÍ·Ç¾Û¼¯Ë÷Òý£¨nonclustered index£¬Ò²³Æ·Ç¾ÛÀàË÷Òý¡¢·Ç´Ø¼¯Ë÷Òý£©¡£ÏÂÃ棬ÎÒÃǾÙÀýÀ´ËµÃ÷һϾۼ¯Ë÷ÒýºÍ·Ç¾Û¼¯Ë÷ÒýµÄÇø±ð£º
Æäʵ£¬ÎÒÃǵĺºÓï ......

¸ßЧSQL²éѯ֮Ë÷Òý£¨I£©

´óÐÍϵͳµÄÉú²ú»·¾³£¬Ò»°ãÇé¿öÏ£¬ÎÒÃÇÆÀ¼ÛÒ»Ìõ²éѯÊÇ·ñÓÐЧÂÊ£¬¸ü¶àµÄÊǹØ×¢Âß¼­ IO( ÖÁÓÚΪʲô£¬»ØÍ·²¹Ò»Æª ) ¡£ÎÒÃdz£Ëµ£¬“Òª½¨±ëº·µÄË÷Òý”¡¢“Ҫд¸ßЧµÄ SQL ”£¬Æäʵ×îÖÕÄ¿µÄ¾ÍÊÇÔÚÏàͬ½á¹û¼¯Çé¿öÏ£¬¾¡¿ÉÄܼõÉÙÂß¼­ IO ¡£
1.1      where Ìõ¼þµÄÁÐÉ϶¼µÃÓÐͳ¼ÆÐÅÏ¢¡£ ......

¸ßЧSQL²éѯ֮Ë÷Òý£¨II£©

ÉÏ»ØÎÒÃÇ˵µ½ÆÀ¹ÀÒ»ÌõÓï¾äÖ´ÐÐЧÂÊÖ÷Òª¿´Âß¼­ IO £¨É¶ÊÇÂß¼­ IO £¬É¶ÊÇÎïÀí IO ¼ûÁª»úÎĵµ£©£¬Õâ´ÎÎÒÃǼÌÐø¡£
ÎÒÃÇÏÈ˵˵£¬·µ»Ø¶àÐнá¹ûʱ£¬ÎªÊ²Ã´ SQLServer ÓÐʱ»áÑ¡Ôñ index seek £¬ÓÐʱ»áÑ¡Ôñ index scan ¡£
ÒÔ nonclustered index ΪÀý˵Ã÷¡£
ÏñËùÓеÄË÷Òý B Ê÷Ò»Ñù£¬·Ç¾Û¼¯Ë÷ÒýÊ÷Ò²°üÀ¨ÍêÈ«ÓÉË÷ÒýÊý¾Ý×é³ÉµÄ¸ù½ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ