Sql ServerËæ»ú³éÈ¡Êý¾ÝЧÂÊÓÅ»¯
¡¡É½ÈËÎÒ×î½üÓöµ½Ò»¼þºÜ¾À½áµÄÊÂÇ飬¾ÍÊÇÈçºÎ¿ìËٵĴÓÊý¾Ý±íÀïËæ»ú³éȡһÌõÊý¾Ý¡£
ÎÒÉú³ÉÁËÒ»¸ö¼òµ¥µÄÊý¾Ý±í£¬²¢ÇÒµ¼ÈëÁË500WÌõÊý¾Ý½øÐвâÊÔ¡£
ÏÂͼΪµÚÒ»´Î²ÉÓõÄSQLÓï¾ä£º
Declare @d Datetime
Set @d=getdate()
SELECT top 1[ActivityID]
,[CardNo]
,[Password]
,[State]
,[CreateTime]
,[GetTime]
FROM [TGBus_Card].[dbo].[Ka_Card] Where ActivityID = 501 And State = 0 Order By NEWID()
Select [Óï¾äÖ´Ðл¨·Ñʱ¼ä(ºÁÃë)]=Datediff(ms,@d,Getdate())
ÕâÊÇÎÒÓÅÏÈ»áÏëµ½µÄ½â¾ö·½°¸,NEWID()ÿ´Î¶¼Òª¼ìË÷Õû¸öÊý¾Ý±í£¬ÎªÃ¿Ò»ÐÐÊý¾Ý²úÉúÒ»¸öuniqueidentifierÀàÐ͵ÄΨһֵ£¬ËùÒÔËüµÄÖ´ÐÐЧÂʿ϶¨²»¸ß £¬Ã¿´ÎÖ´Ðж¼ÒªÔÚ4Ãë×óÓÒ¡£
»¹ÓÐûÓиüºÃµÄ°ì·¨ÄÇ£¿£¡
ɽÈËÎÒÔÚÏ룬ÒòΪSELECTÊÇÔÚORDER BY֮ǰִÐеģ¬ËùÒÔÄܲ»ÄÜÔÚSELECTµÄʱºò²úÉúNEWID()ºóÔÚORDER BYʹÓÃÄÇ£¿
¡¡ ÓÚÊÇÓÐÁ˵ڶþ¸ö°æ±¾£º
Declare @d Datetime
Set @d=getdate()
SELECT top 1[ActivityID]
,[CardNo]
,[Password]
,[State]
,[CreateTime]
,NEWID() as Random
FROM [TGBus_Card].[dbo].[Ka_Card] Where ActivityID = 501 And State = 0 Order By Random
Select [Óï¾äÖ´Ðл¨·Ñʱ¼ä(ºÁÃë)]=Datediff(ms,@d,Getdate())
ȷʵÓÐËùÌá¸ß£¡£¡µ«Ì«²»Ã÷ÏÔÁË¡£¡£¡£¡£¡£
»¹ÓÐûÓиüºÃµÄ°ì·¨£¿£¡
ÓÚÊÇÎÒÓÖÏëµ½ÁË2005µÄÐÂÌØÐÔTABLESAMPLE£¬ÂíÉÏÊÔÊÔ£¡
ÕâÊǵÚÈý°æµÄ´úÂ룺
Declare @d Datetime
Set @d=getdate()
SELECT top 1[ActivityID]
,[CardNo]
,[Password]
,[State]
,[CreateTime]
,[GetTime]
FROM [TGBus_Card].[dbo].[Ka_Card] tablesample (1000 Rows) Where ActivityID = 501 And State = 0
Select [Óï¾äÖ´Ðл¨·Ñʱ¼ä(ºÁÃë)]=Datediff(ms,@d,Getdate())
ËÙ¶ÈÌ«¿ìÁË£¡£¡£¡10¼¸ºÁÃë¾ÍÏÔʾÁË£¡
µ½ÕâÀïɽÈËÎÒ±¾ÒÔΪÊÂÇé¸ã¶¨ÁË£¡ÐÄÀﻹÃÀ×Ì×̵ģ¡ÓÚÊÇСÑо¿ÁËÒ»ÏÂTABLESAMPLE,²»¿´²»ÖªµÀ£¬ÔÀ´TABLESAMPLEËæ»úѡȡµÄµ¥Î»ÊÇÊý¾ÝÒ³£¡£¡ÎÒ¿¿£¡£¡Ò²¾ÍÊÇ˵Èç¹ûÊý¾ÝÁ¿ºÜСµÄ»°ºÜ¿ÉÄÜÓÐÈ¡²»µ½Êý¾ÝµÄ¿ÉÄÜ£¬ÊÔһϹûÈ»Èç´Ë£¡Õâ¸ö²»¿¿Æ×µÄ¼Ò»ï£¡
ÎÊÌâÓֻص½ÁËÆðµã¡£¡£¡£ÄѵÀÕæµÄ¾ÍÒªÓÃNEWIDÁËÂð£¿Õýµ±É½ÈËÎҸп®µÄʱºòÔÚMSDNÉÏÎÞÒâÖп´µ½ÁËÕâ¶ÎÎÄ×Ö£º
¸Ð¾õÓÐÏ·£¡£¡
ÓÚÊÇÓÖдÁËÕâµÚËİæ´úÂ룺
Declare @d Datetime
Set @d=getdate()
SELECT Top 1* FROM [TGBus_Card].[dbo].[Ka_Card]
WHERE 0.01 >= CAST(CHECKSUM(NEWID(), CardNo) & 0x7fffffff AS float) / CAST (0x7fffffff AS int)
And ActivityID = 501 And State = 0
Select [Óï¾äÖ´Ðл¨·Ñʱ¼ä(ºÁÃë)] = Datediff(ms,@d,Getdate())
ÕâÒ²ÊÇÎÒ×îÖÕ²ÉÓõķ½·¨£¬SQLÖ´ÐÐËÙ¶ÈÔÚ1ºÁÃë×óÓÒ¡£