ÈçºÎÓà SQL Tuning Advisor (STA) ÓÅ»¯SQLÓï¾ä
ÔÚOracle10g֮ǰ£¬ÓÅ»¯SQLÊǸö±È½Ï·ÑÁ¦µÄ¼¼Êõ»î£¬²»Í£µÄ·ÖÎöÖ´Ðмƻ®£¬¼Óhint£¬·ÖÎöͳ¼ÆÐÅÏ¢µÈµÈ¡£ÔÚ10gÖУ¬OracleÍÆ³öÁË×Ô¼ºµÄSQLÓÅ»¯¸¨Öú¹¤¾ß: SQLÓÅ»¯Æ÷(SQL Tuning Advisor £ºSTA)£¬ËüÊÇеÄDBMS_SQLTUNE°ü¡£Ê¹ÓÃSTAÒ»¶¨Òª±£Ö¤ÓÅ»¯Æ÷ÊÇCBOģʽÏ¡£
Ö´ÐÐDBMS_SQLTUNE°ü½øÐÐsqlÓÅ»¯ÐèÒªÓÐadvisorµÄȨÏÞ£º
SQL> create user dave identified by dave;
Óû§ÒÑ´´½¨¡£
SQL> grant connect,resource to dave;
ÊÚȨ³É¹¦¡£
SQL> grant advisor to dave;
ÊÚȨ³É¹¦¡£
ÏÂÃæ¼òµ¥½éÉÜÒ»ÏÂÈçºÎÓÅ»¯Ò»ÌõÕÒµ½µÄÎÊÌâÓï¾ä¡£
create table bigtab as select rownum as "id",a.* from sys.all_objects a;
create table smalltab as select rownum as "id", a.* from sys.all_tables a;
È»ºó¶àÔËÐм¸´ÎÏÂÃæµÄ½Å±¾£¬Ôö¼Ó±íÀïµÄÊý¾Ý£º
insert into bigtab select rownum as "id",a.* from sys.all_objects a;
insert into smalltab select rownum as "id", a.* from sys.all_tables a;
ÕâÀï´´½¨Ò»ÕÅ´ó±íºÍÒ»ÕÅС±í£¬²¢ÇÒ¶¼Ã»ÓÐË÷Òý£¬ÏÂÃæÖ´ÐÐÒ»¸ö²éѯ£º
SQL> set timing on
SQL> set autot on
SQL> select count(*) from bigtab a, smalltab b where a.object_name=b.table_name;
COUNT(*)
----------
2141537
ÒÑÓÃʱ¼ä: 00: 00: 20.05
Ö´Ðмƻ®
----------------------------------------------------------
Plan hash value: 3089226980
--------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------
Ïà¹ØÎĵµ£º
¿ìÕÕ¸ôÀë Snapshot Isolation
1¡¢Ð´Èë³ÌÐò²»»á×è°¶ÁÈ¡³ÌÐò
2¡¢ÐµĸôÀë¼¶±ðÌṩÁËÒÔÏÂÓŵ㣺
1) Ìá¸ßÁËÖ»¶ÁÓ¦ÓóÌÐòµÄÊý¾Ý¿ÉÓÃÐÔ
2) ÔÊÐíÔÚOLTP»·¾³ÖÐÖ´ÐзÇ×èÖ¹¶ÁÈ¡²Ù×÷
3) ¿É¶ÔдÈëÊÂÎñ½øÐÐ×Ô¶¯µÄÇ¿ÖÆ³åÍ»¼ì²â
3¡¢ÑÝʾ´úÂë
CREATE DATABASE demo2
GO
USE demo2
ALTER DATABASE demo2 SET allow_snapsho ......
ͨÓñí±í´ïʽ Common Table Expressions
ͨÓñí±í´ïʽ£¨CTE£©ÊÇÒ»¸ö¿ÉÒÔÓɶ¨ÒåÓï¾äÒýÓõÄÁÙʱ±íÃüÃûµÄ½á¹û¼¯¡£ÔÚËûÃǵļòµ¥ÐÎʽÖУ¬Äú¿ÉÒÔ½«CTEÊÓΪÀàËÆÓÚÊÓͼºÍÅÉÉú±í»ìºÏ¹¦ÄܵĸĽø°æ±¾¡£ÔÚ²éѯµÄfrom×Ó¾äÖÐÒýÓÃCTEµÄ·½Ê½ÀàËÆÓÚÒýÓÃÅÉÉú±íºÍÊÓͼµÄ·½Ê½¡£Ö»Ð붨ÒåCTEÒ»´Î£¬¼´¿ÉÔÚ²éѯÖжà´ÎÒýÓÃËü¡£ÔÚCTEµÄ¶¨ÒåÖУ¬¿ÉÒÔÒ ......
ÓÃsql*plus»òµÚÈý·½¿ÉÒÔÔËÐÐsqlÓï¾äµÄ³ÌÐòµÇ¼Êý¾Ý¿â£º
Ôö¼ÓÒ»¸öÁУº
ALTER TABLE ±íÃû ADD(ÁÐÃû Êý¾ÝÀàÐÍ);
È磺
ALTER TABLE emp ADD(weight NUMBER(38,0));
ÐÞ¸ÄÒ»¸öÁеÄÊý¾ÝÀàÐÍ(Ò»°ãÏÞÓÚÐ޸ij¤¶È£¬ÐÞ¸ÄΪһ¸ö²»Í¬ÀàÐÍʱÓÐÖî¶àÏÞÖÆ):
ALTER TABLE ±íÃû MODIFY(ÁÐÃû Êý¾ÝÀàÐÍ);
È磺
ALTER TABLE emp MODIFY(wei ......
COUNT(*)ÓëCOUNT(COL)
ÍøÉÏËÑË÷ÁËÏ£¬·¢ÏÖ¸÷ÖÖ˵·¨¶¼ÓУº
±ÈÈçÈÏΪCOUNT(COL)±ÈCOUNT(*)¿ìµÄ£»
ÈÏΪCOUNT(*)±ÈCOUNT(COL)¿ìµÄ£»
»¹ÓÐÅóÓѺܸãЦµÄ˵µ½Õâ¸öÆäʵÊÇ¿´ÈËÆ·µÄ¡£
ÔÚ²»¼ÓWHEREÏÞÖÆÌõ¼þµÄÇé¿öÏ£¬COUNT(*)ÓëCOUNT(COL)»ù±¾¿ÉÒÔÈÏΪÊǵȼ۵ģ»
µ«ÊÇÔÚÓÐWHEREÏÞÖÆÌõ¼þµÄÇé¿öÏ£¬COUNT(*)»á±ÈCOUNT(COL)¿ì·Ç³£¶à ......
/*
SQL SERVER 2008 ±íÖµ²ÎÊý
SQL SERVER ÒýÈëÁË¿¹ÒéÓÃÀ´½«Ðм¯´«Èëµ½´æ´¢¹ý³ÌºÍÓû§¶¨Ò庯ÊýµÄ±íÖµ²ÎÊý.
Õâ¸ö¹¦ÄÜ¿ÉÒÔʹ´æ´¢¹ý³ÌºÍº¯Êý¾ßÓзâ×°¶à¸öÐм¯µÄ¹¦ÄÜ,¶ø²»ÊDZØÐëÒ»ÐÐÒ»Ðеص÷
Êý¾ÝÐ޸Ĺý³ÌºÍ´©¼þ¶à¸öÊäÈë²ÎÊýÀ´ÉúÓ²µÄת»¯Îª¶àÐÐ.
ÎÒÃÇÔÚÓ¦ÓÃÖо³£Óà ......