SQL ×¢Èë¹¥»÷ÔÀí¼°·À»¤
ÔÚÈ·ÈÏ¿ÉÒÔ×¢ÈëµÄÇé¿öÏ£¬Ê¹ÓÃÏÂÃæµÄÓï¾ä£º
HTTP://www.163.com/news.asp?id=xx ;and (select count(*) from sysobjects)£¾0
HTTP://www.163.com/news.asp?id=xx ;and (select count(*) from msysobjects)£¾0
Èç¹ûÊý¾Ý¿âÊÇSQLServer£¬ÄÇôµÚÒ»¸öÍøÖ·µÄÒ³ÃæÓëÔÒ³ÃæHTTP://www.163.com/news.asp?id=xxÊÇ´óÖÂÏàͬµÄ£»¶øµÚ¶þ¸öÍøÖ·£¬ÓÉÓÚÕÒ²»µ½±ímsysobjects£¬»áÌáʾ³ö´í£¬¾ÍËã³ÌÐòÓÐÈÝ´í´¦Àí£¬Ò³ÃæÒ²ÓëÔÒ³ÃæÍêÈ«²»Í¬¡£
Èç¹ûÊý¾Ý¿âÓõÄÊÇAccess£¬ÄÇôÇé¿ö¾ÍÓÐËù²»Í¬£¬µÚÒ»¸öÍøÖ·µÄÒ³ÃæÓëÔÒ³ÃæÍêÈ«²»Í¬£»µÚ¶þ¸öÍøÖ·£¬ÔòÊÓºõÊý¾Ý¿âÉèÖÃÊÇ·ñÔÊÐí¶Á¸Ãϵͳ±í£¬Ò»°ãÀ´ËµÊDz»ÔÊÐíµÄ£¬ËùÒÔÓëÔÍøÖ·Ò²ÊÇÍêÈ«²»Í¬¡£´ó¶àÊýÇé¿öÏ£¬ÓõÚÒ»¸öÍøÖ·¾Í¿ÉÒÔµÃ֪ϵͳËùÓõÄÊý¾Ý¿âÀàÐÍ£¬µÚ¶þ¸öÍøÖ·Ö»×÷Ϊ¿ªÆôIIS´íÎóÌáʾʱµÄÑéÖ¤¡£
Èý¡¢È·¶¨XP_CMDSHELL¿ÉÖ´ÐÐÇé¿ö
Èôµ±Ç°Á¬½ÓÊý¾ÝµÄÕʺžßÓÐSAȨÏÞ£¬ÇÒmaster.dbo.xp_cmdshellÀ©Õ¹´æ´¢¹ý³Ì(µ÷Óô˴洢¹ý³Ì¿ÉÒÔÖ±½ÓʹÓòÙ×÷ϵͳµÄshell)Äܹ»ÕýÈ·Ö´ÐУ¬ÔòÕû¸ö¼ÆËã»ú¿ÉÒÔͨ¹ýÒÔϼ¸ÖÖ·½·¨ÍêÈ«¿ØÖÆ£¬ÒÔºóµÄËùÓв½Öè¶¼¿ÉÒÔÊ¡
1¡¢HTTP://www.163.com/news.asp?id=xx and user£¾;0 news.aspÖ´ÐÐÒì³£µ«¿ÉÒԵõ½µ±Ç°Á¬½ÓÊý¾Ý¿ ......
1) ͳ¼Æ¸÷¸öϵµÄѧÉúÐÅÏ¢
select count(Sname) ×ÜÈËÊý,Sdept from Student group by Sdept
2) ²éѯÐŹÜϵѧÉúµÄ×î´óÄêÁäºÍ×îСÄêÁä
select MAX(Sage) ×î´óÄêÁä,MIN(Sage) ×îСÄêÁä from Student where
Sdept='ÐŹÜϵ'
3) ²éѯÐŹÜϵ×î´óÄêÁäºÍ×îСÄêÁäµÄѧÉúµÄÐÕÃû
select Sname from Student where Sdept = 'ÐŹÜϵ' and
(Sage in (select max(Sage)from Student )
or Sage in (select min(Sage)from Student where Sdept = 'ÐŹÜϵ')
4) ͳ¼ÆÑ¡ÐÞc01¿Î³ÌµÄѧÉúµÄ×î¸ß·Ö£¬×îµÍ·Ö£¬×ܳɼ¨ºÍƽ¾ù·Ö
select MAX(Grade) ×î¸ß·Ö,MIN(Grade) ×îµÍ·Ö,SUM(Grade) ×ܳɼ¨,AVG(Grade) ƽ¾ù·Ö
from SC WHERE Cno='c01'
5) ²éѯËùÓÐѧÉúµÄÑ¡¿ÎÐÅÏ¢£¬ÒªÇóÁгöѧÉúѧºÅ¡¢ÐÕÃû¡¢¿Î³ÌÃûºÍ³É¼¨
select Student.Sno,Sname,Cname,Grade from Student,SC,Course
where Student.Sno=SC.Sno and Course.Cno=SC.Cno
6) ͳ¼ÆÃ¿Ãſγ̵ÄÑ¡ÐÞÈËÊý
select count(Sno),Cno from SC group by Cno
7) ͳ¼ÆÃ¿¸öѧÉúÑ¡Ð޵ĿγÌÃÅÊý¼°×ܳɼ¨
select Sno,count(Cno) Ñ¡Ð޿γÌÊý,SUM(Grade) ×ܳɼ¨ fro ......
·½·¨Ò»
µÚÒ»²½£ºµÇÈësql/plus Ö´ÐÐÃüÁÎÞÏȺó˳Ðò£©
set time on; (˵Ã÷£º´ò¿ªÊ±¼äÏÔʾ£©
set autotrace on; (˵Ã÷£º´ò¿ª×Ô¶¯·ÖÎöͳ¼Æ£¬²¢ÏÔʾSQLÓï¾äµÄÔËÐнá¹û£©
set autotrace traceonly; (˵Ã÷£º´ò¿ª×Ô¶¯·ÖÎöͳ¼Æ£¬²»ÏÔʾSQLÓï¾äµÄÔËÐнá¹û£©
¶þÕßѡһ¸öÖ´ÐÐ
µÚ¶þ²½£º ÊäÈëÄãÒª²é¿´µÄsql Ö´ÐÐ
µÚÈý²½£º²é¿´½á¹û Èçͼ £¨Í¼Ôõôմ²»Éϰ¡£©
·½·¨¶þ
ÏÈÖ´ÐÐ EXPLAIN PLAN FOR select * from G_GAMBLING gamb where gamb.active=1
ÔÙ select * from table(DBMS_XPLAN.DISPLAY)±ã¿ÉÒÔ¿´µ½oracleµÄÖ´Ðмƻ®ÁË
ÔÎĵØÖ·£ºhttp://blog.csdn.net/e3002/archive/2007/09/10/1778821.aspx ......
·½·¨Ò»
µÚÒ»²½£ºµÇÈësql/plus Ö´ÐÐÃüÁÎÞÏȺó˳Ðò£©
set time on; (˵Ã÷£º´ò¿ªÊ±¼äÏÔʾ£©
set autotrace on; (˵Ã÷£º´ò¿ª×Ô¶¯·ÖÎöͳ¼Æ£¬²¢ÏÔʾSQLÓï¾äµÄÔËÐнá¹û£©
set autotrace traceonly; (˵Ã÷£º´ò¿ª×Ô¶¯·ÖÎöͳ¼Æ£¬²»ÏÔʾSQLÓï¾äµÄÔËÐнá¹û£©
¶þÕßѡһ¸öÖ´ÐÐ
µÚ¶þ²½£º ÊäÈëÄãÒª²é¿´µÄsql Ö´ÐÐ
µÚÈý²½£º²é¿´½á¹û Èçͼ £¨Í¼Ôõôմ²»Éϰ¡£©
·½·¨¶þ
ÏÈÖ´ÐÐ EXPLAIN PLAN FOR select * from G_GAMBLING gamb where gamb.active=1
ÔÙ select * from table(DBMS_XPLAN.DISPLAY)±ã¿ÉÒÔ¿´µ½oracleµÄÖ´Ðмƻ®ÁË
ÔÎĵØÖ·£ºhttp://blog.csdn.net/e3002/archive/2007/09/10/1778821.aspx ......
[×ªÔØ]http://www.cnblogs.com/cn_wpf/£¬·Ç³£¸ÐлNineteen@newsmth µÄ·Ö·ÖÏí¡£
дÓÐЧÂʵÄSQL²éѯ£¨I£©
´óÐÍϵͳµÄÉú²ú»·¾³£¬Ò»°ãÇé¿öÏ£¬ÎÒÃÇÆÀ¼ÛÒ»Ìõ²éѯÊÇ·ñÓÐЧÂÊ£¬¸ü¶àµÄÊǹØ×¢Âß¼IO(ÖÁÓÚΪʲô£¬»ØÍ·²¹Ò»Æª)¡£ÎÒÃdz£Ëµ£¬“Òª½¨±ëº·µÄË÷Òý”¡¢“Ҫд¸ßЧµÄSQL”£¬Æäʵ×îÖÕÄ¿µÄ¾ÍÊÇÔÚÏàͬ½á¹û¼¯Çé¿öÏ£¬¾¡¿ÉÄܼõÉÙÂß¼IO¡£
1.1 whereÌõ¼þµÄÁÐÉ϶¼µÃÓÐͳ¼ÆÐÅÏ¢¡£
ûͳ¼ÆÐÅÏ¢SQLServer¾ÍÎÞ·¨¹ÀË㲻ͬ²éѯ¼Æ»®¿ªÏúÓÅÁÓ£¬¶øÖ»ÄܲÉÓÃ×îÎÈÍ×µÄScan£¨²»¹ÜÊÇtable scan»¹ÊÇclustered index scan£©¡£Ò»°ãÇé¿öÏÂÎÒÃDz»»á·¸ÕâÖÖ´íÎó——whereÌõ¼þÀﲻʹÓ÷ÇË÷ÒýÁÐÊǸö³£Ê¶¡£Ë÷ÒýÉϵÄͳ¼ÆÐÅÏ¢ÊÇÎÞ·¨É¾³ýµÄ¡£
1.2 ¾¡Á¿²»Ê¹Óò»µÈÓÚ£¨!=£©»òÕßNOTÂß¼ÔËËã·û¡£
ÕâÌõ¹æÔò±»¹ãΪ´«ËÌ£¬ÔÒò¾ÝÁª»úÎĵµºÍ°Ù¾´Í¬Ñ§µÄÊé½²£¬Ò²ÊÇSQLServerÎÞ·¨ÆÀ¹À²»Í¬²éѯ¼Æ»®¿ªÏúµÄÓÅÁÓ¡£µ«ÊÇSqlServer2k5´ÏÃ÷Á˺ܶ࣬ÊÔÑé·¢ÏÖ¾¡¹ÜÓÃÁË!=»òÕßnot£¬²éѯ»¹ÊǻᱻÓÅ»¯¡£ÈçÏ£º
create table tb1
(
col1 int identity(1,1) primary key,
&nbs ......
1.·ÖÎöϵͳÈÕÖ¾£¬Ò»ÐÐÒ»Ðп´×ÅʵÔÚÀÛÈË£¬ºÜ¶àÎÞ¹ØÈÕÖ¾£¬ÄܹýÂËϾͺÃÁË¡£Îı¾¹¤¾ß¹¦ÄÜʵÔÚÓÐÏÞ£¬ÓÚÊǺõ£¬½«windowsϵͳÈÕÖ¾µ¼Èësql serverÖУ¬Ö±½ÓsqlÖ®……¡£ÊµÑéÁ˼¸°Ñ£¬×îºÃµÄÊÇ£¬Ö±½Ó½«ÏµÍ³ÈÕÖ¾µ¼³öΪÎı¾µÄ£¬Ö±½Ótab·Ö¸îµÄ£¬µ¼ÈësqlµÄʱºò£º
н¨Êý¾Ý¿â->µ¼ÈëÊý¾Ý->ÏÂÒ»²½->Êý¾ÝÔ´Ñ¡ÔñÎı¾Îļþ->Ñ¡Ôñµ¼³öµÄtxtÎļþ->ÏÂÒ»²½->ĬÈÏÉèÖÃ->ÏÂÒ»²½->Ñ¡ÔñÖÆ±í·û->ÏÂÒ»²½->Ñ¡ÖÐн¨µÄÊý¾Ý¿â->ÏÂÒ»²½->ÏÂÒ»²½->Íê³É£¬µÈ´ýµ¼Èë°É£¬ÍêÁËÖ±½Ó²éѯ·ÖÎöÆ÷·ÖÎö°É¡£
2.·ÖÎöIISÈÕÖ¾µÄ»°£¬Î¢ÈíÓÐÒ»¸ö²»´íµÄ¹¤¾ß£ºlog Parser,¿ÉÒÔʵÏÖÀàËÆsql²éѯµÄ·½Ê½À´·ÖÎöIISÈÕÖ¾£¬ºÜÊDz»´í¡£ ......
SQL Server ²éѯ
²éѯµÄʱºòÓ¦¸Ã¾¡Á¿°´ÕÕ¸´ºÏË÷ÒýÖеÄ˳ÐòÀ´×öÌõ¼þ²éѯ£»£¨±ÈÈçIXCÖÐspInterActiveInstance_GetByIDToStatÌõ¼þand ProcessState<>99µÄλÖã©£»
Èç¹ûÔÚ³ÌÐòÖÐÓÐFor»òÕßÊÇForeach£¬ÔÚ´æ´¢¹ý³ÌÖÐÓÖÓÐIF Exists£¬ÄǾÍÒª¿´ÊÇ·ñ¿ÉÒÔÔÚ±íÖмÓÈ븴ºÏË÷ÒýÁË£¬IF Not Exists¿ÉÒÔת»»ÎªIF ExistsÀ´Ê¹ÓÃË÷Òý£»
ÔÚ²éѯÖо¡Á¿ÉÙʹÓÃ*»òÕßÈ«±í×Ö¶ÎÀ´²éѯÊý¾Ý¡£µÚÒ»£¬·µ»ØµÄÊý¾Ý¼¯±È½Ï´ó£»µÚ¶þ£¬²úÉú¸ü¶àµÄIO²Ù×÷£»µÚÈý£¬»áʹÓõ½Bookmark lookupµÄ²éѯ¼Æ»®£¬ÐÔÄÜÓÐËùϽµ£»Èç¹ûÄÜʹÓõ½¸²¸ÇË÷ÒýÀ´²éѯÊÇ×îÀíÏëµÄ£»
ÏÂÃæ¹ØÓÚ²éѯµÄÐÔÄܱȽÏ
·µ»ØÐÐÊý½Ï¶à£ºË÷Òý¸²¸Ç>¾Û¼¯Ë÷Òý>±íɨÃè>¶Ñ¼¯µÄ·Ç¾Û¼¯Ë÷Òý>¾Û¼¯µÄ·Ç¾Û¼¯Ë÷Òý
·µ»ØÐÐÊý½ÏÉÙ£ºË÷Òý¸²¸Ç=¾Û¼¯Ë÷Òý>¶Ñ¼¯µÄ·Ç¾Û¼¯Ë÷Òý>¾Û¼¯µÄ·Ç¾Û¼¯Ë÷Òý>±íɨÃè
±È½ÏÄÑÀí½âµÄ¿ÉÄÜÊÇ£º¶Ñ¼¯µÄ·Ç¾Û¼¯Ë÷Òý>¾Û¼¯µÄ·Ç¾Û¼¯Ë÷Òý¡£ÏÂÃæÊǸöÈ˼û½â£¬¶Ñ±í¾ÍÊÇûÓоۼ¯Ë÷ÒýµÄ±í£¬ÊµÖÊÉϾÍÊÇÔÚÒ»¸öûÓоۼ¯Ë÷ÒýµÄ±íÖмÓÈë·Ç¾Û¼¯Ë÷ÒýºÍÒ»¸öÔÚ¾Û¼¯±íÖмÓÈëͬһ×ֶεķǾۼ¯Ë÷Òý£»£¨¾Û¼¯£©·Ç¾Û¼¯Ë÷Òý-¶¨Î»Æ÷-¾Û¼¯Ë÷Òý-Bookmark lookup-·µ»ØÖ¸¶¨×Ö¶ÎÖµ£»£¨¶Ñ¼¯£©·Ç¾Û¼¯Ë÷Òý-¶¨Î»Æ÷-¶ÔÓ¦µÄÊý¾ÝÐеÄÖ¸Õë-·µ»ØÖ¸¶¨×Ö¶ ......