ÖØ½¨ SQLServer Ë÷ÒýµÄÖØÒªÐÔ!
ÔÎÄת×Ô:http://dev.csdn.net/develop/article/71/71778.shtm
´ó¶àÊýSQL Server±íÐèÒªË÷ÒýÀ´Ìá¸ßÊý¾ÝµÄ·ÃÎÊËÙ¶È£¬Èç¹ûûÓÐË÷Òý£¬SQL ServerÒª½øÐбí¸ñɨÃè¶ÁÈ¡±íÖеÄÿһ¸ö¼Ç¼²ÅÄÜÕÒµ½Ë÷ÒªµÄÊý¾Ý¡£Ë÷Òý¿ÉÒÔ·ÖΪ´ØË÷ÒýºÍ·Ç´ØË÷Òý£¬´ØË÷Òýͨ¹ýÖØÅűíÖеÄÊý¾ÝÀ´Ìá¸ßÊý¾ÝµÄ·ÃÎÊËÙ¶È£¬¶ø·Ç´ØË÷ÒýÔòͨ¹ýά»¤±íÖеÄÊý¾ÝÖ¸ÕëÀ´Ìá¸ßÊý¾ÝµÄË÷Òý¡£
Ë÷ÒýµÄÌåϵ½á¹¹£º
ΪʲôҪ²»¶ÏµÄά»¤±íµÄË÷Òý£¿Ê×ÏÈ£¬¼òµ¥½éÉÜÒ»ÏÂË÷ÒýµÄÌåϵ½á¹¹¡£SQL ServerÔÚÓ²ÅÌÖÐÓÃ8KBÒ³ÃæÔÚÊý¾Ý¿âÎļþÄÚ´æ·ÅÊý¾Ý¡£È±Ê¡Çé¿öÏÂÕâÐ©Ò³Ãæ¼°Æä°üº¬µÄÊý¾ÝÊÇÎÞ×éÖ¯µÄ¡£ÎªÁËʹ»ìÂÒ±äΪÓÐÐò£¬¾ÍÒªÉú³ÉË÷Òý¡£Éú³ÉË÷Òýºó£¬¾ÍÓÐÁËË÷ÒýÒ³ºÍÊý¾ÝÒ³£¬Êý¾ÝÒ³±£´æÓû§Ð´ÈëµÄÊý¾ÝÐÅÏ¢¡£Ë÷ÒýÒ³´æ·ÅÓÃÓÚ¼ìË÷ÁеÄÊý¾ÝÖµÇåµ¥£¨¹Ø¼ü×Ö£©ºÍË÷Òý±íÖиÃÖµËùÔڼͼµÄµØÖ·Ö¸Õë¡£Ë÷Òý·ÖΪ´ØË÷ÒýºÍ·Ç´ØË÷Òý£¬´ØË÷ÒýʵÖÊÉÏÊǽ«±íÖеÄÊý¾ÝÅÅÐò£¬¾ÍºÃÏñÊÇ×ÖµäµÄË÷ÒýĿ¼¡£·Ç´ØË÷Òý²»¶ÔÊý¾ÝÅÅÐò£¬ËüÖ»±£´æÁËÊý¾ÝµÄÖ¸ÕëµØÖ·¡£ÏòÒ»¸ö´ø´ØË÷ÒýµÄ±íÖвåÈëÊý¾Ý£¬µ±Êý¾ÝÒ³´ïµ½100%ʱ£¬ÓÉÓÚÒ³ÃæÃ»Óпռä²åÈëеĵļͼ£¬Õâʱ¾Í»á·¢Éú·ÖÒ³£¬SQL Server ½«´óÔ¼Ò»°ëµÄÊý¾Ý´ÓÂúÒ³ÖÐÒÆµ½¿ÕÒ³ÖУ¬´Ó¶øÉú³ÉÁ½¸ö°ëµÄÂúÒ³¡£ÕâÑù¾ÍÓдóÁ¿µÄÊý¾Ý¿Õ¼ä¡£´ØË÷ÒýÊÇË«ÏòÁ´±í£¬ÔÚÿһҳµÄÍ·²¿±£´æÁËǰһҳ¡¢ºóÒ»Ò³µØÖ·ÒÔ¼°·ÖÒ³ºóÊý¾ÝÒÆ¶¯µÄµØÖ·£¬ÓÉÓÚÐÂÒ³¿ÉÄÜÔÚÊý¾Ý¿âÎļþÖеÄÈκεط½£¬Òò´ËÒ³ÃæµÄÁ´½Ó²»Ò»¶¨Ö¸Ïò´ÅÅ̵ÄÏÂÒ»¸öÎïÀíÒ³£¬Á´½Ó¿ÉÄÜÖ¸ÏòÁËÁíÒ»¸öÇøÓò£¬Õâ¾ÍÐγÉÁ˷ֿ飬´Ó¶ø¼õÂýÁËϵͳµÄËÙ¶È¡£¶ÔÓÚ´ø´ØË÷ÒýºÍ·Ç´ØË÷ÒýµÄ±íÀ´Ëµ£¬·Ç´ØË÷ÒýµÄ¹Ø¼ü×ÖÊÇÖ¸Ïò´ØË÷ÒýµÄ£¬¶ø²»ÊÇÖ¸ÏòÊý¾ÝÒ³µÄ±¾Éí¡£
ΪÁ˿˷þÊý¾Ý·Ö¿é´øÀ´µÄ¸ºÃæÓ°Ï죬ÐèÒªÖØ¹¹±íµÄË÷Òý£¬ÕâÊǷdz£·ÑʱµÄ£¬Òò´ËÖ»ÄÜÔÚÐèҪʱ½øÐС£¿ÉÒÔͨ¹ýDBCC SHOWCONTIGÀ´È·¶¨ÊÇ·ñÐèÒªÖØ¹¹±íµÄË÷Òý¡£ÏÂÃæ¾ÙÀýÀ´ËµÃ÷DBCC SHOWCONTIGºÍDBCC REDBINDEXµÄʹÓ÷½·¨¡£ÒÔSQL Server×Ô´øµÄnorthwindÊý¾Ý×÷ΪÀý×Ó
´ø¿ªSQL ServerµÄQuery analyzerÊäÈëÃüÁ
use pubs
declare @table_id int
set @table_id=object_id('tbldlvinfoback')
dbcc showcontig(@table_id)
Õâ¸öÃüÁîÏÔʾpubsÊý¾Ý¿âÖеÄtbldlvinfoback±íµÄ·Ö¿éÇé¿ö£¬½á¹ûÈçÏ£º
DBCC SHOWCONTIG ÕýÔÚɨÃè 'tblDlvInfoback' ±í...
±í: 'tblDlvInfoback'£¨1797581442£©£»Ë÷Òý ID: 0£¬Êý¾Ý¿â ID: 5
ÒÑÖ´ÐÐ TABLE ¼¶±ðµÄɨÃè¡£
- ɨÃ
Ïà¹ØÎĵµ£º
select
convert(char(4),auth,120)+'Äê'+
substring(convert(char(10),auth,120),6,2)+'ÔÂ'+
substring(convert(char(10),auth,120),9,2)+'ÈÕ',
convert(char(4),appr,120)+'Äê'+
substring(convert(char(10),appr,120),6,2)+'ÔÂ'+
substring(convert(char(10),appr,120),9,2)+'ÈÕ'
from a
ÒÔÉÏ´úÂëʵÏֵĹ¦Ä ......
create proc P_QuerySplit
@sqlscript varchar(20), --±íÃû/SQLÓï¾ä
@pageSize int, --ÿҳ¼Ç¼Êý
@pageIndex int, &nbs ......
HOLDLOCK ½«¹²ÏíËø±£Áôµ½ÊÂÎñÍê³É£¬¶ø²»ÊÇÔÚÏàÓ¦µÄ±í¡¢ÐлòÊý¾ÝÒ³²»ÔÙÐèҪʱ¾ÍÁ¢¼´ÊÍ·ÅËø¡£HOLDLOCK µÈͬÓÚ SERIALIZABLE¡£
NOLOCK ²»Òª·¢³ö¹²ÏíËø£¬²¢ÇÒ²»ÒªÌṩÅÅËüËø¡£µ±´ËÑ¡ÏîÉúЧʱ£¬¿ÉÄÜ»á¶ÁȡδÌá½»µÄÊÂÎñ»òÒ»×éÔÚ¶ÁÈ¡ÖÐ¼ä»Ø¹öµÄÒ³Ãæ¡£ÓпÉÄÜ·¢ÉúÔà¶Á¡£½öÓ¦ÓÃÓÚ SELECT Óï¾ä¡£
PAGLOCK ÔÚͨ³£Ê¹Óõ¥¸ö±íËøµ ......
ÔÚsqlserver(Ó¦¸Ã˵ÔÚĿǰËùÓÐÊý¾Ý¿â²úÆ·)Öд´½¨Ò»¸ö×ÊÔ´Èç±í£¬ÊÓͼ£¬´æ´¢¹ý³ÌÖж¼ÒªÅжÏÓë´´½¨µÄ×ÊÔ´ÊÇ·ñÒѾ´æÔÚ
ÔÚsqlserverÖÐÒ»°ã¿Éͨ¹ý²éѯsys.objectsϵͳ±íÀ´µÃÖª½á¹û£¬²»¹ý¿ÉÒÔÓиü·½±ãµÄ·½·¨
ÈçÏ£º
if object_id('tb_table') is not null
......