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

SqlÊý¾Ý²ã·ÖÒ³¼¼Êõ

¿´ÁËһƪ½²×ù£¬Ëµµ½Êý¾Ý²ã·ÖÒ³¼¼Êõ£¬Óõ½ÁË4Öз½Ê½£¬1£©Ê¹ÓÃtop *top   2)ʹÓñí±äÁ¿  3£©Ê¹ÓÃÁÙʱ±í 4£©Ê¹ÓÃROW_NUMBERº¯Êý¡£
ÆäÖÐ×î¿ìµÄÊǵÚ1 ºÍµÚ4Öз½Ê½£¬½ÓÏÂÀ´ÎÒÃÇÀ´¿´¿´ÕâÁ½ÖÖ·½Ê½£º
ÎÒÃÇʹÓÃsql2005×Ô´øµÄÊý¾Ý¿â AdventureWorks²âÊÔ£¬
1£©
--Use Top*Top
DECLARE @Start datetime,@end datetime;
SET @Start=getdate();
 
DECLARE @PageNumber INT, @Count INT, @Sql varchar(max);
SET @PageNumber=5000;
SET @Count=10;
SET @Sql='SELECT T2.* from (
    SELECT TOP 10 T1.* from
       (SELECT TOP ' + STR(@PageNumber*@Count) +' * from Production.TransactionHistoryArchive
       ORDER BY ReferenceOrderID ASC) AS T1
    ORDER BY ReferenceOrderID DESC) AS T2
ORDER BY ReferenceOrderID ASC';
EXEC (@sql);
 
SET @end=getdate();
PRINT Datediff(millisecond,@Start,@end);
GO
½âÎö£ºÎÒÃÇÊÇÒª²é³öµÚ5000Ò³£¬Ã¿Ò³10Ìõ£¬Ò²¾ÍÊǵÚ49991~µÚ50000Ìõ£¬
   ÏÈselect³öÇ°50000Ìõ£¬ÔÙµ¹Ðò³öºó10Ìõ£¬ÔÙÉýÐòÅÅÁУ¬Ò²¾ÍÊÇ49991~50000Ìõ£¬Ö´ÐÐʱ¼äΪ373ºÁÃë¡£
2£©
--Use ROW_NUMBER
DECLARE @Start datetime,@end datetime;
SET @Start=getdate();
 
DECLARE @PageNumber INT, @Count INT, @Sql varchar(max);
SET @PageNumber=5000;
SET @Count=10;
SELECT * from
(   SELECT ROW_NUMBER() 
      OVER(ORDER BY ReferenceOrderID) AS RowNumber,   
      *
    from Production.TransactionHistoryArchive) AS T
WHERE T.RowNumber<=@PageNumber*@Count AND T.RowNumber>(@PageNumber-1)*@Count;
 
SET @end=getdate();
PRINT Datediff(millisecond,@Start,@end);
GO
½âÎö£ºÒ²ÊÇÒª²é³öµÚ5000Ò³£¬Ã¿Ò³10Ìõ¡£ÏȽ«Êý¾ÝÈ«²¿ÅÅÃû£¬ÔÙwhereÁ½¸öÌõ¼þ£¬Ò»¸öÊÇÅÅÃû<=5000*10=50000Ìõ ²¢ÇÒÅÅÃû>4999*10=49990Ìõ£¬Ò²¾ÍÊÇ49991µ½50000Ìõ¡£ Ö´ÐÐʱ¼äΪ156£¬ÕâÖÖ·½Ê½¸üÓÅ¡£Ö÷ÒªÊÇtop·½Ê½ÊÇ·´¸´µÄÈ¥²é£¬ÏûºÄÁËʱ¼ä¡£


Ïà¹ØÎĵµ£º

SQLµ÷Õû×î¹Ø×¢µÄÊÇʲô£¿

µ÷ÕûµÄÄ¿µÄ¾ÍÊÇΪÁËÏûºÄ×îСµÄ×ÊÔ´À´Íê³É¹¦ÄÜ£¬Í¨¹ý²é¿´Ö´Ðмƻ®ºÍ¸÷ÖÖͳ¼ÆÐÅÏ¢À´·Ö±æµ÷ÕûºóµÄsql¶Ô×ÊÔ´µÄºÄ·ÑÇé¿ö£¬À´ÕÒ³öÒ»¸ö³É±¾×îСµÄsqlÓï¾ä
¼ì²éϵͳµÄI/OÎÊÌâ
vmstateÄܼì²éÕû¸öϵͳµÄiostat£¨IO statistics£©
²é¿´¸ÃSQLµÄresponse time(db block gets/consistent gets/physical reads/sorts (disk)) ......

»ñÈ¡Êý¾Ý¿âÖеıí½á¹¹µÄsqlÓï¾ä

--»ñȡij¸öÊý¾Ý¿âÖеıí½á¹¹
SELECT    
  --±íÃû=case   when   a.colorder=1   then   d.name   else   ''   end,
  ÐòºÅ=a.colorder,
  --±êʶ=case   when   COLUMNPROPERTY(&nbs ......

ÈçºÎÉý¼¶sql server 2000ÖÁ2005

´Ósql server 2000Éý¼¶µ½2005ÓÐ5ÖÖ·½·¨:
lÖ±½ÓÉý¼¶
lÀûÓÃdetach/attach¹¦ÄÜÒƶ¯sql  server 2000µÄÊý¾Ý¿âµ½2005
lͨ¹ýbackup/restore¹¦ÄÜÀ´Ç¨ÒÆdb
lͨ¹ýsql server 2005µÄdatabase copy wizardÀ´¿½±´Êý¾Ý¿â
lͨ¹ýdtsµÄexport/import¹¤¾ßÀ´Ç¨ÒÆÊý¾Ýµ½sql server 2005
1.µÚÒ»ÖÖ·½·¨(Ö±½ÓÉý¼¶):
ÊʺÏ: Êý¾Ý ......

SQL Server2005µÄXMLÊý¾ÝÀàÐÍÖ®»ù´¡Æª2

value·½·¨
µ±Äã²»Ïë½âÊÍÕû¸ö²éѯµÄ½á¹û¶øÖ»ÏëµÃµ½Ò»¸ö±êÁ¿ÖµÊ±£¬Õâ¸övalue·½·¨ÊǺÜÓаïÖúµÄ¡£Õâ¸övalue·½·¨ÓÃÓÚ²éѯXML²¢ÇÒ·µ»ØÒ»¸öÔ­×ÓÖµ¡£
Õâ¸övalue·½·¨µÄÓï·¨ÈçÏ£º
value(XQuery£¬datatype)
½èÖúÓÚvalue·½·¨£¬Äã¿ÉÒÔ´ÓXMLÖеõ½µ¥¸ö±êÁ¿Öµ¡£Îª´Ë£¬Äã±ØÐëÖ¸¶¨XQueryÓï¾äºÍÄãÏëÒªËü·µ»ØµÄÊý¾ÝÀàÐÍ£¬²¢ÇÒÄã¿ÉÒÔ·µ»Ø³ ......

SQL ServerÈÕÖ¾ÎļþÌ«´óµÄ½â¾ö·½·¨

Çå¿ÕÈÕÖ¾
1£®´ò¿ª²éѯ·ÖÎöÆ÷£¬ÊäÈëÃüÁî
 
DUMP TRANSACTION Êý¾Ý¿âÃû WITH NO_LOG
 
2.ÔÙ´ò¿ªÆóÒµ¹ÜÀíÆ÷--ÓÒ¼üÄãҪѹËõµÄÊý¾Ý¿â--ËùÓÐÈÎÎñ--ÊÕËõÊý¾Ý¿â--ÊÕËõÎļþ--Ñ¡ÔñÈÕÖ¾Îļþ--ÔÚÊÕËõ·½Ê½ÀïÑ¡ÔñÊÕËõÖÁXXM,ÕâÀï»á¸ø³öÒ»¸öÔÊÐíÊÕËõµ½µÄ×îСMÊý,Ö±½ÓÊäÈëÕâ¸öÊý,È·¶¨¾Í¿ÉÒÔÁË¡£
 
  ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ