¡¾×ª¡¿ ÓÃEXPLAIN PLAN ·ÖÎöSQLÓï¾ä
ÓÃEXPLAIN PLAN ·ÖÎöSQLÓï¾ä
http://blog.csdn.net/kj021320/archive/2006/08/19/1096021.aspx
ÈçºÎÉú³Éexplain plan?
¡¡¡¡½â´ð:ÔËÐÐutlxplan.sql. ½¨Á¢plan ±í
¡¡¡¡Õë¶ÔÌØ¶¨SQLÓï¾ä£¬Ê¹Óà explain plan set statement_id = 'tst1' into plan_table
¡¡¡¡ÔËÐÐutlxplp.sql »ò utlxpls.sql²ì¿´explain plan
EXPLAIN PLAN ÊÇÒ»¸öºÜºÃµÄ·ÖÎöSQLÓï¾äµÄ¹¤¾ß,ËüÉõÖÁ¿ÉÒÔÔÚ²»Ö´ÐÐSQLµÄÇé¿öÏ·ÖÎöÓï¾ä. ͨ¹ý·ÖÎö,ÎÒÃǾͿÉÒÔÖªµÀORACLEÊÇÔõôÑùÁ¬½Ó±í,ʹÓÃʲô·½Ê½É¨Ãè±í(Ë÷ÒýɨÃè»òÈ«±íɨÃè)ÒÔ¼°Ê¹Óõ½µÄË÷ÒýÃû³Æ.
ÄãÐèÒª°´ÕÕ´ÓÀïµ½Íâ,´ÓÉϵ½ÏµĴÎÐò½â¶Á·ÖÎöµÄ½á¹û. EXPLAIN PLAN·ÖÎöµÄ½á¹ûÊÇÓÃËõ½øµÄ¸ñʽÅÅÁеÄ, ×îÄÚ²¿µÄ²Ù×÷½«±»×îÏȽâ¶Á, Èç¹ûÁ½¸ö²Ù×÷´¦ÓÚͬһ²ãÖÐ,´øÓÐ×îС²Ù×÷ºÅµÄ½«±»Ê×ÏÈÖ´ÐÐ.
NESTED LOOPÊÇÉÙÊý²»°´ÕÕÉÏÊö¹æÔò´¦ÀíµÄ²Ù×÷, ÕýÈ·µÄÖ´Ðз¾¶ÊǼì²é¶ÔNESTED LOOPÌṩÊý¾ÝµÄ²Ù×÷,ÆäÖвÙ×÷ºÅ×îСµÄ½«±»×îÏÈ´¦Àí.
ÒëÕß°´:
ͨ¹ýʵ¼ù, ¸Ðµ½»¹ÊÇÓÃSQLPLUSÖеÄSET TRACE ¹¦ÄܱȽϷ½±ã.
¾ÙÀý:
SQL> list
1 SELECT *
2 from dept, emp
3* WHERE emp.deptno = dept.deptno
SQL> set autotrace traceonly /*traceonly ¿ÉÒÔ²»ÏÔʾִÐнá¹û*/
SQL> /
14 rows selected.
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 NESTED LOOPS
2 1 TABLE ACCESS (FULL) OF 'EMP'
3 1 TABLE ACCESS (BY INDEX ROWID) OF 'DEPT'
4 3 INDEX (UNIQUE SCAN) OF 'PK_DEPT' (UNIQUE)
Statistics
----------------------------------------------------------
0 recursive calls
2 db block gets
30 consistent gets
0 physical reads
0 redo size
2598 bytes sent via SQL*Net to client
503 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
14 rows processed
ͨ¹ýÒÔÉÏ·ÖÎö,¿ÉÒԵóöʵ¼ÊµÄÖ´Ðв½ÖèÊÇ:
1. TABLE ACCESS (FULL) OF 'EMP'
2. INDEX (UNIQUE SCAN) OF 'PK_DEPT' (UNIQUE)
3. TABLE ACCESS (BY INDEX ROWID) OF 'DEPT'
4. NESTED LOOPS (JOINING 1 AND 3)
×¢: ĿǰÐí¶àµÚÈý·½µÄ¹¤¾ßÈçTOADºÍORACLE±¾ÉíÌṩµÄ¹¤¾ßÈçOMSµÄSQL Analyze¶¼ÌṩÁ˼«Æä·½±ãµÄEXPLAIN PLAN¹¤¾ß.Ò²Ðíϲ»¶Í¼Ðλ¯½çÃæµÄÅóÓÑÃÇ¿ÉÒÔÑ¡ÓÃËüÃÇ.
--------
Ïà¹ØÎĵµ£º
SQL Serverµ¼³ö±íµ½EXCELÎļþµÄ´æ´¢¹ý³Ì
·¢²¼Ê±¼ä£º2008.07.11 09:00 À´Ô´£ºÈüµÏÍø ×÷ÕߣºÐ¡ÇÇ
¡¾ÈüµÏÍø£IT¼¼Êõ±¨µÀ¡¿SQL Serverµ¼³ö±íµ½EXCELÎļþµÄ´æ´¢¹ý³Ì:
*--Êý¾Ýµ¼³öEXCEL
µ¼³ö±íÖеÄÊý¾Ýµ½Excel,°üº¬×Ö¶ÎÃû,ÎļþÎªÕæÕýµÄExcelÎļþ
,Èç¹ ......
×î¼òµ¥µÄSQL ServerÊý¾Ý¿â´æ´¢¹ý³Ì·ÖÒ³
·¢²¼Ê±¼ä£º2008.07.02 05:11 À´Ô´£ºÈüµÏÍø ×÷ÕߣºAlizze
¡¾ÈüµÏÍø£IT¼¼Êõ±¨µÀ¡¿×î¼òµ¥µÄSQL ServerÊý¾Ý¿â´æ´¢¹ý³Ì·ÖÒ³:
1.Ö»ÐèÒªÌṩSqlÓï¾äºÍÿҳµÄ¼Ç¼Êý,Ò³Êý¾Í¿ÉÒÔÁË
2,Ëٶȳ¬¿ìÓ´,100W¼Ç¼1~3Ãë¾Í·Ö³öÀ´ÁË
......
£¨1£©±íÃû£º¹ºÎïÐÅÏ¢
¹ºÎïÈË ÉÌÆ·Ãû³Æ ÊýÁ¿
A ¼× 2
B ÒÒ  ......
Sql Server ÖÐÒ»¸ö·Ç³£Ç¿´óµÄÈÕÆÚ¸ñʽ»¯º¯Êý
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GE ......
ÌâÄ¿£ºÓÐAºÍBÁ©¸ö±í£¬¶¼¶¨ÒåÏàͬµÄÖ÷¼ü£¬Ð´³öSQLÓï¾äÕÒ³öA±íÖÐÓжøB±íÖÐûÓеļǼ£¬È»ºó°ÑûÓеļǼ²åÈëµ½B±íÖС£
SQLÓï¾äÈçÏ£º
CREATE TABLE A_MINUS_B AS ---´´½¨Ò»¸ö²î¼¯±íA_MINUS_B ,×¢ÒâSELECT Óï¾äÒ»¶¨ÒªA±íÔÚǰ¡ ......