ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

Sql ServerËæ»ú³éÈ¡Êý¾ÝЧÂÊÓÅ»¯
2014-11-24 07:23:00 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:1´Î
Tags£ºSql Server Ëæ»ú ³éÈ¡ Êý¾Ý ЧÂÊ ÓÅ»¯
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ºÁÃë×óÓÒ¡£
¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£ºSQLServer2008 .bakÊý¾Ý¿âÎļþµÄ.. ÏÂһƪ£ºSql Server2012ʹÓÃ×÷ÒµÉèÖö¨Ê±..

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ:

¡¤Linuxϵͳ¼ò½é (2025-12-25 21:55:25)
¡¤Linux°²×°MySQL¹ý³Ì (2025-12-25 21:55:22)
¡¤Linuxϵͳ°²×°½Ì³Ì£¨ (2025-12-25 21:55:20)
¡¤HTTP Åc HTTPS µÄ²î„ (2025-12-25 21:19:45)
¡¤ÍøÕ¾°²È«±ØÐ޿ΣºÍ¼ (2025-12-25 21:19:42)