ͨ¹ý·ÖÎö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×Ó¾äÖеõ½£¬»òÕßͨ¹ý±íµÄÒ»¸ö»ò¶à¸öË÷Ò
Ïà¹ØÎĵµ£º
ϵͳ»·¾³£ºWindows 7
Èí¼þ»·¾³£ºVisual C++ 2008 SP1 +SQL Server 2005
±¾´ÎÄ¿µÄ£º±àдһ¸öº½¿Õ¹ÜÀíϵͳ
ÕâÊÇÊý¾Ý¿â¿Î³ÌÉè¼ÆµÄ³É¹û£¬ËäÈ»³É¼¨²»¼Ñ£¬µ«ÊÇ×÷ΪÎÒÓÃVC++ ÒÔÀ´±àдµÄ×î´ó³ÌÐò»¹ÊÇ´«µ½ÍøÉÏ£¬ÒÔ¹©²Î¿¼¡£ÓÃVC++ ×öÊý¾Ý¿âÉè¼Æ²¢²»ÈÝÒ×£¬µ«Ò²²»ÊDz»¿ÉÄÜ¡£ÒÔÏÂÊÇÎҵijÌÐò½çÃ棬ºóÃæ ......
treeview.aspxÖдúÂëÈçÏ£º
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="treeview.aspx.cs" Inherits="treeview" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999 ......
Ç°ÑÔ
±¾ÎĵµÖ÷Òª½éÉÜÓëSQLµ÷ÕûÓйصÄÄÚÈÝ£¬ÄÚÈÝÉæ¼°¶à¸ö·½Ã棺SQLÓï¾äÖ´ÐеĹý³Ì¡¢ORACLEÓÅ»¯Æ÷£¬±íÖ®¼äµÄ¹ØÁª£¬ÈçºÎµÃµ½SQLÖ´Ðмƻ®£¬ÈçºÎ·Ö ÎöÖ´Ðмƻ®µÈÄÚÈÝ£¬´Ó¶øÓÉdzµ½ÉîµÄ·½Ê½Á˽âSQLÓÅ»¯µÄ¹ý³Ì£¬Ê¹´ó¼ÒÖð²½²½ÈëSQLµ÷ÕûÖ®ÃÅ£¬È»ºóÄ㽫·¢ÏÖ……¡£
&nb ......
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)| ......
SQLÓï¾äµ¼Èëµ¼³ö
/******* µ¼³öµ½excel
EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""'
/*********** µ¼ÈëExcel
SELECT *
from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\test.xls";User ID=Admin;Password=;Extended propert ......