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

ͨ¹ý·ÖÎöSQLÓï¾äµÄÖ´Ðмƻ®ÓÅ»¯SQL£¨Ò»£©

ÓÅ»¯Æ÷ÔÚÐγÉÖ´Ðмƻ®Ê±ÐèÒª×öµÄÒ»¸öÖØҪѡÔñÊÇÈçºÎ´ÓÊý¾Ý¿â²éѯ³öÐèÒªµÄÊý¾Ý¡£¶ÔÓÚSQLÓï¾ä´æÈ¡µÄÈκαíÖеÄÈκÎÐУ¬¿ÉÄÜ´æÔÚÐí¶à´æȡ·¾¶(´æÈ¡·½·¨)£¬Í¨¹ýËüÃÇ¿ÉÒÔ¶¨Î»ºÍ²éѯ³öÐèÒªµÄÊý¾Ý¡£ÓÅ»¯Æ÷Ñ¡ÔñÆäÖÐ×ÔÈÏΪÊÇ×îÓÅ»¯µÄ·¾¶¡£
¡¡¡¡ÔÚÎïÀí²ã£¬oracle¶ÁÈ¡Êý¾Ý£¬Ò»´Î¶ÁÈ¡µÄ×îСµ¥Î»ÎªÊý¾Ý¿â¿é(Óɶà¸öÁ¬ÐøµÄ²Ù×÷ϵͳ¿é×é³É)£¬Ò»´Î¶ÁÈ¡µÄ×î´óÖµÓɲÙ×÷ϵͳһ´ÎI/OµÄ×î´óÖµÓëmultiblock²ÎÊý¹²Í¬¾ö¶¨£¬ËùÒÔ¼´Ê¹Ö»ÐèÒªÒ»ÐÐÊý¾Ý£¬Ò²Êǽ«¸ÃÐÐËùÔÚµÄÊý¾Ý¿â¿é¶ÁÈëÄÚ´æ¡£Âß¼­ÉÏ£¬oracleÓÃÈçÏ´æÈ¡·½·¨·ÃÎÊÊý¾Ý£º
¡¡¡¡(1) È«±íɨÃ裨Full Table Scans, FTS£©
¡¡¡¡ÎªÊµÏÖÈ«±íɨÃ裬Oracle¶ÁÈ¡±íÖÐËùÓеÄÐУ¬²¢¼ì²éÿһÐÐÊÇ·ñÂú×ãÓï¾äµÄWHEREÏÞÖÆÌõ¼þ¡£Oracle˳ÐòµØ¶ÁÈ¡·ÖÅä¸ø±íµÄÿ¸öÊý¾Ý¿é£¬Ö±µ½¶Áµ½±íµÄ×î¸ßË®Ïß´¦(high water mark, HWM£¬±êʶ±íµÄ×îºóÒ»¸öÊý¾Ý¿é)¡£Ò»¸ö¶à¿é¶Á²Ù×÷¿ÉÒÔʹһ´ÎI/OÄܶÁÈ¡¶à¿éÊý¾Ý¿é(db_block_multiblock_read_count²ÎÊýÉ趨)£¬¶ø²»ÊÇÖ»¶ÁÈ¡Ò»¸öÊý¾Ý¿é£¬Õ⼫´óµÄ¼õÉÙÁËI/O×Ü´ÎÊý£¬Ìá¸ßÁËϵͳµÄÍÌÍÂÁ¿£¬ËùÒÔÀûÓöà¿é¶ÁµÄ·½·¨¿ÉÒÔÊ®·Ö¸ßЧµØʵÏÖÈ«±íɨÃ裬¶øÇÒÖ»ÓÐÔÚÈ«±íɨÃèµÄÇé¿öϲÅÄÜʹÓöà¿é¶Á²Ù×÷¡£ÔÚÕâÖÖ·ÃÎÊģʽÏ£¬Ã¿¸öÊý¾Ý¿éÖ»±»¶ÁÒ»´Î¡£ÓÉÓÚHWM±êʶ×îºóÒ»¿é±»¶ÁÈëµÄÊý¾Ý£¬¶ødelete²Ù×÷²»Ó°ÏìHWMÖµ£¬ËùÒÔÒ»¸ö±íµÄËùÓÐÊý¾Ý±»deleteºó£¬ÆäÈ«±íɨÃèµÄʱ¼ä²»»áÓиÄÉÆ£¬Ò»°ãÎÒÃÇÐèҪʹÓÃtruncateÃüÁîÀ´Ê¹HWMÖµ¹éΪ0¡£ÐÒÔ˵ÄÊÇoracle 10Gºó£¬¿ÉÒÔÈ˹¤ÊÕËõHWMµÄÖµ¡£
¡¡¡¡ÓÉFTSģʽ¶ÁÈëµÄÊý¾Ý±»·Åµ½¸ßËÙ»º´æµÄLeast Recently Used (LRU)ÁбíµÄβ²¿£¬ÕâÑù¿ÉÒÔʹÆä¿ìËÙ½»»»³öÄڴ棬´Ó¶ø²»Ê¹ÄÚ´æÖØÒªµÄÊý¾Ý±»½»»»³öÄÚ´æ¡£
¡¡¡¡Ê¹ÓÃFTSµÄÇ°ÌáÌõ¼þ£ºÔڽϴóµÄ±íÉϲ»½¨ÒéʹÓÃÈ«±íɨÃ裬³ý·ÇÈ¡³öÊý¾ÝµÄ±È½Ï¶à£¬³¬¹ý×ÜÁ¿µÄ5% -- 10%£¬»òÄãÏëʹÓò¢Ðвéѯ¹¦ÄÜʱ¡£
ʹÓÃÈ«±íɨÃèµÄÀý×Ó£º~~~~~~~~~~~~~~~~~~~~~~~~
SQL> explain plan for select * from dual;
Query Plan
------------------------------------
SELECT STATEMENT¡¡¡¡ [CHOOSE] Cost=
TABLE ACCESS FULL DUAL
¡¡¡¡(2) ͨ¹ýROWIDµÄ±í´æÈ¡£¨Table Access by ROWID»òrowid lookup£©
¡¡¡¡ÐеÄROWIDÖ¸³öÁ˸ÃÐÐËùÔÚµÄÊý¾ÝÎļþ¡¢Êý¾Ý¿éÒÔ¼°ÐÐÔڸÿéÖеÄλÖã¬ËùÒÔͨ¹ýROWIDÀ´´æÈ¡Êý¾Ý¿ÉÒÔ¿ìËÙ¶¨Î»µ½Ä¿±êÊý¾ÝÉÏ£¬ÊÇOracle´æÈ¡µ¥ÐÐÊý¾ÝµÄ×î¿ì·½·¨¡£
¡¡¡¡ÎªÁËͨ¹ýROWID´æÈ¡±í£¬Oracle Ê×ÏÈÒª»ñÈ¡±»Ñ¡ÔñÐеÄROWID£¬»òÕß´ÓÓï¾äµÄWHERE×Ó¾äÖеõ½£¬»òÕßͨ¹ý±íµÄÒ»¸ö»ò¶à¸öË÷Ò


Ïà¹ØÎĵµ£º

SQL Server 2008µÄËÄÏîÐÂÌØÐÔ

ÔÚSQL Server 2008ÖУ¬²»½ö¶ÔÔ­ÓÐÐÔÄܽøÐÐÁ˸Ľø£¬»¹Ìí¼ÓÁËÐí¶àÐÂÌØÐÔ£¬±ÈÈçÐÂÌíÁËÊý¾Ý¼¯³É¹¦ÄÜ£¬¸Ä½øÁË·ÖÎö·þÎñ£¬±¨¸æ·þÎñ£¬ÒÔ¼°Office¼¯³ÉµÈµÈ¡£
¡¡¡¡SQL Server¼¯³É·þÎñ
¡¡
¡¡SSIS(SQL Server¼¯³É·þÎñ)ÊÇÒ»¸öǶÈëʽӦÓóÌÐò£¬ÓÃÓÚ¿ª·¢ºÍÖ´ÐÐETL(½âѹËõ¡¢×ª»»ºÍ¼ÓÔØ)°ü¡£SSIS´úÌæÁËSQL
2000µÄDTS¡£ÕûºÏ·þÎñ¹¦ÄܼȰü ......

sql serverÈÕÆÚʱ¼äº¯Êý

Sql ServerÖеÄÈÕÆÚÓëʱ¼äº¯Êý
1.  µ±Ç°ÏµÍ³ÈÕÆÚ¡¢Ê±¼ä
    select getdate() 
2. dateadd  ÔÚÏòÖ¸¶¨ÈÕÆÚ¼ÓÉÏÒ»¶Îʱ¼äµÄ»ù´¡ÉÏ£¬·µ»ØÐ嵀 datetime Öµ
   ÀýÈ磺ÏòÈÕÆÚ¼ÓÉÏ2Ìì
   select dateadd(day,2,'2004-10-15')  --·µ»Ø£º2004-10-17 00:00:00.000 ......

SqlÔÚMysqlµÄÖ´ÐÐ

     ×òÌì½âÎöÁËdblp.xml£¬´æÈëÊý¾Ý¿â£¬Éú³ÉÁËÈô¸ÉÕÅÁÙʱ±í¡£½ñÌìÉÏÎ磬¶ÔÕâЩÁÙʱ±í½øÐд¦Àí£¬È»ºó´æÈëʵÑéÉè¼ÆµÄ±íÖС£Êý¾Ý¿âµÄÊý¾ÝÁ¿±È½Ï´ó£¬50¶àM£¬80¶àÍòÌõ¼Ç¼¡£Òò¶øÖ´ÐÐsqlʱ£¬¾ÍÓöµ½Á˺ܶàÎÊÌâ¡£
1¡¢È¥³ýÖظ´tuple
     ԭʼdblp.xmlÖУ¬Í¬Ò»ÂÛÎĵĴæÔÚ¼¸¸öÍêÈ«ÏàͬµÄ&l ......

sqlÈçºÎ²úÉú¶àÌõ¼Ç¼

SELECT ROWNUM AS ID
,TO_CHAR(SYSDATE + ROWNUM / 24 / 3600, 'yyyy-mm-dd hh24:mi:ss') AS INC_DATETIME
,TRUNC(DBMS_RANDOM.VALUE(0, 100)) AS RANDOM_ID
,DBMS_RANDOM.STRING('x', 20) RANDOM_STRING
from DUAL
CONNECT BY LEVEL <= 10;
SELECT '('||WMSYS.WM_CONCAT(':P' || ROWNUM)| ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ