SQL ServerÖÐË÷Òý
Ò»¡¢SQL ServerÖÐÊý¾ÝÐеĴ洢·½Ê½
ÔÚSQL ServerÖдæ·ÅÊý¾ÝµÄÎļþ»áÒÔ8KBµÄ´óС·ÖÒ³¡£Ã¿Ò»Ò³¿ÉÒÔÊÇÊý¾Ý¡¢Ë÷ÒýÒÔ¼°ÆäËûSQL ServerÊý¾Ý¿âÐèҪΪÆäά»¤Êý¾ÝÎļþµÄÊý¾ÝÀàÐÍ¡£´ó¶àÊýÒ³ÊÇÊý¾ÝÒ³»òË÷ÒýÒ³¡£Ò³ÊÇSQL Server¶Á¡¢Ð´Êý¾ÝÎļþµÄµ¥Ôª¡£Ã¿Ò»Ò³Ö»°üÀ¨Ò»¸ö¶ÔÏóµÄÊý¾Ý»òË÷ÒýÐÅÏ¢£¬ËùÒÔÔÚÿһ¸öÊý¾ÝÒ³ÉÏÖ»ÄÜÕÒµ½Ò»¸ö¶ÔÏóµÄÊý¾Ý£¬Í¬ÑùÔÚÿһ¸öË÷ÒýÒ³ÉÏÒ³Ö»ÄÜÕÒµ½Ò»¸öË÷ÒýµÄÐÅÏ¢¡£
ÔÚSQL Server2000ÖУ¬½«Ò»¸öÊý¾ÝÐд洢ÔÚ¶à¸öÒ³ÉÏÊDz»¿ÉÄܵģ¬ÕâÒâζ×ÅÒ»¸öÊý¾ÝÐбØÐëÔÚÒ»Ò³ÉÏ£¬Õâ»áµ¼ÖÂÒ»¸öÊý¾ÝÐÐÓÐ8KB´óСµÄÏÞÖÆ£¨´óÐÍÊý¾Ý¶ÔÏó³ýÍ⣩¡£
ÔÚSQL Server2005 ÖУ¬¶ÔÓڱ䳤Êý¾ÝÀàÐÍ£¬ÀýÈçnvarchar¡¢varbinary£¬CLRµÈ£¬Êý¾ÝÐÐ8KBµÄ´óСÏÞÖÆ¾Í²»´æÔÚÁË£¬ËùÒԱ䳤Êý¾ÝÀàÐ͵ÄÊý¾ÝÐпÉÒÔ¿çÔ½¶àÒ³¡£µ«ÊǶÔÓÚ¶¨³¤Êý¾ÝÀàÐÍ£¬Êý¾ÝÐÐÈÎÈ»±ØÐëÔÚÒ»Ò³ÉÏ¡£
¶þ¡¢ÈÏʶSQL ServerÖеÄË÷Òý
Ë÷Òý·ÖΪ¾Û¼¯Ë÷ÒýºÍ·Ç¾Û¼¯Ë÷Òý¡£
¾Û¼¯Ë÷Òý£¨Clustered Index£©
Ø ¾Û¼¯Ë÷ÒýµÄÒ¶½Úµã¾ÍÊÇʵ¼ÊµÄÊý¾ÝÒ³¡£
Ø ÔÚÊý¾ÝÒ³ÖÐÊý¾Ý°´ÕÕË÷Òý˳Ðò´æ´¢¡£
Ø ÐеÄÎïÀíλÖúÍÐÐÔÚË÷ÒýÖеÄλÖÃÊÇÏàͬµÄ¡£
Ø Ã¿¸ö±íÖ»ÄÜÓÐÒ»¸ö¾Û¼¯Ë÷Òý¡£
Ø ¾Û¼¯Ë÷ÒýµÄƽ¾ù´óСΪ±í´óСµÄ5%¡£
Ò»¸ö¾Û¼¯Ë÷Òý¾ö¶¨ÁËÒ»¸ö±íÖÐÊý¾ÝµÄÎïÀí´æ´¢Ë³Ðò¡£Ò»¸ö¾Û¼¯Ë÷ÒýÓëÒ»¸öµç»°Ä¿Â¼ÏàËÆ£¬µç»°Ä¿Â¼Êǰ´ÕÕlast nameÀ´´æ·Å¡£ÒòΪ¾Û¼¯Ë÷Òý¾ö¶¨Ò»ÕűíÖÐÊý¾ÝµÄÎïÀí´æ·Å˳Ðò£¬ËùÒÔÒ»ÕűíÖ»ÄÜÓиö¾Û¼¯Ë÷Òý,Ò»¸ö¾Û¼¯Ë÷Òý¿ÉÒÔ°üº¬¶à¸öÁУ¨¸´ºÏË÷Òý£©£¬¾ÍÏñµç»°Ä¿Â¼Ò»Ñù°´ÕÕlast name ºÍ first name¼Ç¼һÑù£¬¾Û¼¯Ë÷ÒýÓëOracleÖеÄIOT'S(Index-Organized Tables)ÏàËÆ¡£
Ò»¸ö¾Û¼¯Ë÷Òý¶Ô·¶Î§²éѯ·Ç³£ÓÐЧÂÊefficient on columns that are often searched for ranges of values¡£µ±Óþۼ¯Ë÷Òý°ÑµÚÒ»¸öÐмìË÷³öÀ´Ö®ºó£¬ºóÐøÐÐÒ»¶¨Äܱ£Ö¤ÔÚÎïÀíÉÏÊÇÏàÁڵġ£ÀýÈ磬ӦÓõÄij¸ö²éѯÐèҪƵ·±Ö´ÐÐÒ»¸ö·¶Î§²éѯ£¬¾Û¼¯Ë÷Òý¿ÉÒÔ¿ìËÙ¶¨Î»µ½Âú×ãÌõ¼þµÄµÚÒ»¸öÊý¾Ý£¬È»ºóÔÙ¼ìË÷±íÖÐÓëÖ®ÏàÁڵļǼֱµ½×îºóÒ»Ìõ¼Ç¼¡£ÕâÑù¿ÉÒÔµ÷¸ßÕâÀà²éѯµÄÐÔÄÜ¡£ÁíÍ⣬Èç¹ûijÁо³£ÓÃÀ´¶Ô±íÖеÄÊý¾Ý½øÐÐÅÅÐò£¨sort£©£¬¸ÃÇé¿öÏÂÒ²¿ÉÀûÓþۼ¯Ë÷ÒýÀ´½Úʡÿ´ÎÅÅÐòµÄʱ¼ä¡£
µ±Ë÷ÒýֵΨһʱ£¬ÐèÒª²éÕÒÒ»¸öÖ¸¶¨ÐУ¬´Ëʱ¾Û¼¯Ë÷
Ïà¹ØÎĵµ£º
×Ó²éѯ£º
ʹÓÃ×Ó²éѯµÄÔÔò
1.Ò»¸ö×Ó²éѯ±ØÐë·ÅÔÚÔ²À¨ºÅÖС£
2.½«×Ó²éѯ·ÅÔڱȽÏÌõ¼þµÄÓÒ±ßÒÔÔö¼Ó¿É¶ÁÐÔ¡£
×Ó²éѯ²»°üº¬ ORDER BY ×Ӿ䡣¶ÔÒ»¸ö SELECT Óï¾äÖ»ÄÜÓÃÒ»¸ö ORDER BY ×Ӿ䣬
²¢ÇÒÈç¹ûÖ¸¶¨ÁËËü¾Í±ØÐë·ÅÔÚÖ÷ SELECT Óï¾äµÄ×îºó¡£
ORDER BY ×Ó¾ä¿ÉÒÔʹÓ㬲¢ÇÒÔÚ½øÐÐ Top-N ·ÖÎöʱÊDZØÐëµÄ¡£
3.ÔÚ×Ó² ......
SQL SERVERά»¤×ÅÒ»×é±í,´æ´¢ËùÓжÔÏó,Êý¾ÝÀàÐÍ,Ô¼Êø,ÅäÖÃÑ¡Ïî¼°SQLÄÜ·ÃÎʵÄ×ÊÔ´,ÕâЩ±í³ÆÎªÏµÍ³Ä¿Â¼(ϵͳ»ù±¾±í).
ÎÒÃÇÔÚSQL SERVER2005ÀïÓкܶàÖÖ·½·¨À´·ÃÎÊÔªÊý¾Ý.Ò»°ãÊÇʹÓÃĿ¼ÊÓͼºÍϵͳº¯Êý,ÐÅÏ¢¼Ü¹¹ÊÓͼֻÄܰüº¬ËüÃÇÈ«²¿µÄÒ»²¿·Ö.
×î¼Ñ½Ó¿Ú£ºÄ¿Â¼ÊÓͼ
Ŀ¼ÊÓͼ¶¼Î»ÓÚSYS¼Ü¹¹ÏÂ,°üÀ¨Á˶¯Ì¬¹ÜÀí¶ÔÏó(DMVºÍDM ......
char¡¢varchar¡¢textºÍnchar¡¢nvarchar¡¢ntext
charºÍvarcharµÄ³¤¶È¶¼ÔÚ1µ½8000Ö®¼ä£¬ËüÃǵÄÇø±ðÔÚÓÚcharÊǶ¨³¤×Ö·ûÊý¾Ý£¬¶øvarcharÊDZ䳤×Ö·ûÊý¾Ý¡£Ëùν¶¨³¤¾ÍÊdz¤¶È¹Ì¶¨
µÄ£¬µ±ÊäÈëµÄÊý¾Ý³¤¶ÈûÓдﵽָ¶¨µÄ³¤¶Èʱ½«×Ô¶¯ÒÔÓ¢ÎĿոñÔÚÆäºóÃæÌî³ä£¬Ê¹³¤¶È´ïµ½ÏàÓ¦µÄ³¤¶È£»¶ø±ä ......
--1. ´´½¨±í£¬Ìí¼Ó²âÊÔÊý¾Ý
CREATE TABLE tb(id int, [value] varchar(10))
INSERT tb SELECT 1, 'aa'
UNION ALL SELECT 1, 'bb'
UNION ALL SELECT 2, 'aaa'
UNION ALL SELECT 2, 'bbb'
UNION ALL SELECT 2, 'ccc'
--SELECT * from tb
/**//*
id value
----------- ----------
1 aa
1 ......
SQL Server 2005 Express µ¼Èë/µ¼³öÊý¾Ý
°²×°ºÃSQL Server 2005 Expressºó£¬ÔÙ°²×°
http://download.microsoft.com/download/1/1/0/110d908f-c445-4523-b939-220c7d135f3d/SQLServer2005_SSMSEE.msi
¾Í¿ÉÒÔʹÓÿØÖÆÌ¨½øÐÐÊý¾Ý¿âµÄ¹ÜÀí¡£
µ«SQL Server Management Studio Express ²¢Ã»Óе¼Èë/µ¼³öÊý¾ÝµÄ¹¦ÄÜ£¬ÎÒÃÇ¿ÉÒÔ ......