SQL ServerÖ´Ðв¿·ÖÓï¾äµÄÄÚ´æ´ú¼Û
ÖÚËùÖÜÖª£¬SQL ServerÖ´ÐÐSQLÓï¾äµÄÐÔÄÜÅж¨±ê×¼Ö÷ÒªÊÇIO¶ÁÈ¡Êý´óС¡£±¾ÎÄÔÚ²»Î¥·´ÕâÒ»ÔÔòÇé¿öÏ£¬Í¬Ê±À´·ÖÎöһϲ¿·ÖSQLÓï¾äÖ´ÐÐʱ£¬SQL ServerÄÚ´æµÄ±ä»¯Çé¿ö¡£
Ê×ÏȼòÊöÒ»ÏÂSQL ServerÄÚ´æÕ¼ÓõÄÌØµã¡£SQL ServerËùÕ¼ÓõÄÄÚ´æ³ý³ÌÐò£¨¼´SQL
ServerÒýÇæ£©Í⣬Ö÷Òª°üÀ¨»º´æµÄÊý¾Ý£¨Buffer£©ºÍÖ´Ðмƻ®£¨Cache£©¡£SQL
ServerÒÔ8KB´óСµÄҳΪµ¥Î»´æ´¢Êý¾Ý¡£Õâ¸öºÍSQL ServerÊý¾ÝÔÚ´ÅÅÌÉϵĴ洢ҳ´óСÏàͬ¡£µ±SQL ServerÖ´ÐÐSQL
Óï¾äʱ£¬Èç¹ûÐèÒªµÄÊý¾ÝÒѾÔÚÆäÄÚ´æÖУ¬ÔòÖ±½Ó´ÓÄڴ滺³åÇø¶ÁÈ¡²¢½øÐбØÒªµÄÔËËãÈ»ºóÊä³öÖ´Ðнá¹û¡£Èç¹ûÊý¾Ý»¹Î´ÔÚÄÚ´æÖУ¬ÔòÊ×ÏȽ«Êý¾Ý´Ó´ÅÅÌÉ϶ÁÈëÄÚ´æ
BufferÖС£¶øÎÒÃÇͨ³£ÆÀ¼ÛSQLÐÔÄÜÖ¸±êÖеÄIOÂß¼¶ÁÈ¡Êý¶ÔÓ¦µÄÕýÊÇ´ÓÄڴ滺³åÇø¶ÁÈ¡µÄÒ³Êý£¬¶øIOÎïÀí¶ÁÈ¡ÊýÔò¶ÔÓ¦Êý¾Ý´Ó´ÅÅ̶ÁÈ¡µÄÒ³Êý¡£
×¢£ºÒÔϵÄÊÔÑéÔÚ¶àÈ˹²ÏíµÄ¿ª·¢²âÊÔ·þÎñÆ÷ÉÏÒ²¿ÉÒÔ½øÐУ¬ÒòΪʵ¼ÊÉÏ¿ÉÒԷֱ𿴵½Ä³¸ö±íËùÕ¼ÓõÄÄÚ´æÇé¿ö¡£µ«ÎªÁË·½±ã£¬±ÊÕßÔÚ×ö´ËÊÔÑéʱ£¬ÔÚÒ»¸öµ¥¶ÀµÄ¡¢È·ÈÏûÓÐÆäËü²¢·¢ÈÎÎñµÄÊý¾Ý¿âÉϽøÐУ¬Òò´ËËù¿´µ½µÄÄÚ´æ±ä»¯ÕýÊÇÿһ´ÎËùÖ´ÐеÄSQLÓï¾äÒýÆðµÄ¡£
ÎÒÃÇÊ×ÏÈÀ´¿´Ò»¸ö¼òµ¥µÄʵÀý¡£´´½¨ÏÂ±í£º
Create Table P_User
( UserMobileStatus int NOT NULL,
MobileNo int NOT NULL,
LastOpTime DateTime Not NULL
)
È»ºóΪ¸Ã±í²åÈëÒ»¶¨µÄÊý¾Ý£º
Declare @i int
Set @i=28000
WHILE @i<29000
BEGIN
Insert Into P_User
Select @i % 2,@i,GetUTCDate()
Set @i=@i+1
END
È»ºóÎÒÃÇÔÚ²éѯ·ÖÎöÆ÷ÖÐÊ×ÏÈÖ´ÐÐ:
Set Statistics IO ON
²¢°´ÏÂCtrl+MÒÔÏÔʾʵ¼ÊµÄÖ´Ðмƻ®¡£
´Ëʱ£¬¿ÉÒÔ¿ªÊ¼½øÐÐÎÒÃǵÄÊÔÑéÁË¡£ÎªÁË׼ȷ¹Û²ìÿһ´ÎSQLÓï¾ä±ä»¯Çé¿ö£¬ÔÚÖ´ÐеÚÒ»ÌõSQLÓï¾äÒÔǰ£¬ÎÒÃÇÊ×ÏÈÇå¿ÕSQL ServerËùÕ¼ÓõÄÊý¾ÝÄڴ棺
CHECKPOINT
GO
DBCC DROPCLEANBUFFERS
Õ⽫Çå¿ÕSQL ServerËùÕ¼ÓõÄÊý¾Ý»º³åÇø£¨´ËÓï¾äÔÚÉú²ú·þÎñÆ÷ÉÏÉ÷Óã¬ÒòΪ½«µ¼ÖÂÒ»¶Îʱ¼äÄÚºóÐøµÄSQLÓï¾äÖ´ÐбäÂý£©¡£
²âÊÔ1£ºÔÚûÓÐË÷ÒýµÄ±íÉÏÖ´ÐÐSQLÓï¾ä
1.1 Ö´ÐÐÈ«±íѡȡ»òÕßµÍÑ¡ÔñÐÔѡȡ
Select * from P_User
´ÓSQLÖ´Ðмƻ®¿ÉÒÔ¿´µ½£¬ÓÉÓÚ´Ëʱ±íÖÐûÓÐÈκÎË÷Òý£¬Òò´Ë½«²úÉúTable Scan¡£¶øIOͳ¼Æ½á¹ûÈçÏ£º
(1000 row(s) affected)
±í'P_User'¡£É¨Ãè¼ÆÊý1£¬Âß¼¶ÁÈ¡4 ´Î£¬ÎïÀí¶ÁÈ¡4 ´Î£¬Ô¤¶Á0 ´Î£¬lob Âß¼¶ÁÈ¡0
Ïà¹ØÎĵµ£º
Ò»¡¢PL/SQL±à³Ì¹æ·¶Ö®´óСд
¾ÍÏñÔÚSQLÖÐÒ»Ñù£¬PL / SQLÖÐÊDz»Çø·Ö´óСдµÄ¡£ÆäÒ»°ã×¼ÔòÈçÏ£º
¹Ø¼ü×Ö(BEGIN, EXCEPTION, END, IF THEN ELSE,LOOP, END LOOP)¡¢Êý¾ÝÀàÐÍ(VARCHAR2, NUMBER)¡¢ÄÚ²¿º¯Êý(LEAST, SUBSTR)ºÍÓû§¶¨ÒåµÄ×Ó³ÌÐò(procedures, functions,packages)£¬Ê¹Óôóд¡£
±äÁ¿ÃûÒÔ¼°SQLÖеÄÁÐÃûºÍ±íÃû£¬Ê¹ÓÃÐ ......
ORACLEÖÐ×ֶεÄÊý¾ÝÀàÐÍ
×Ö·ûÐÍ char ·¶Î§ ×î´ó2000¸ö×Ö½Ú ¶¨³¤
char(10) 'ÕÅÈý' ºóÌí¿Õ¸ñ6¸ö°Ñ10¸ö×Ö½Ú²¹Âú 'ÕÅÈý &nb ......
1£®SQL²¢Ðвéѯ
alter session enable parallel dml execute immediate 'alter session enable parallel dml'; --Ð޸ĻỰ²¢ÐÐDML select /*+parallel(a,4)*/ * from table_name a select /*+parallel(a,8)*/ * from table_name a ......
1 ²éѯsqlÓÅ»¯
1.1 Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò£¨Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧORACLE£©
½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬Òò´Ëfrom×Ó¾äÖÐдÔÚ×îºóµÄ±í£¨»ù´¡±ídriving table£©½«±»×îÏÈ´¦Àí¡£ÔÚfrom×Ó¾äÖаüº¬¶à¸ö±íµÄÇé¿öÏ£¬Äã±ØÐëÑ¡Ôñ¼Ç¼ÌõÊý×îÉٵıí ......