ÖØ½¨ SQLServer Ë÷ÒýµÄÖØÒªÐÔ!
ÔÎÄת×Ô:http://dev.csdn.net/develop/article/71/71778.shtm
´ó¶àÊýSQL Server±íÐèÒªË÷ÒýÀ´Ìá¸ßÊý¾ÝµÄ·ÃÎÊËÙ¶È£¬Èç¹ûûÓÐË÷Òý£¬SQL ServerÒª½øÐбí¸ñɨÃè¶ÁÈ¡±íÖеÄÿһ¸ö¼Ç¼²ÅÄÜÕÒµ½Ë÷ÒªµÄÊý¾Ý¡£Ë÷Òý¿ÉÒÔ·ÖΪ´ØË÷ÒýºÍ·Ç´ØË÷Òý£¬´ØË÷Òýͨ¹ýÖØÅűíÖеÄÊý¾ÝÀ´Ìá¸ßÊý¾ÝµÄ·ÃÎÊËÙ¶È£¬¶ø·Ç´ØË÷ÒýÔòͨ¹ýά»¤±íÖеÄÊý¾ÝÖ¸ÕëÀ´Ìá¸ßÊý¾ÝµÄË÷Òý¡£
Ë÷ÒýµÄÌåϵ½á¹¹£º
ΪʲôҪ²»¶ÏµÄά»¤±íµÄË÷Òý£¿Ê×ÏÈ£¬¼òµ¥½éÉÜÒ»ÏÂË÷ÒýµÄÌåϵ½á¹¹¡£SQL ServerÔÚÓ²ÅÌÖÐÓÃ8KBÒ³ÃæÔÚÊý¾Ý¿âÎļþÄÚ´æ·ÅÊý¾Ý¡£È±Ê¡Çé¿öÏÂÕâÐ©Ò³Ãæ¼°Æä°üº¬µÄÊý¾ÝÊÇÎÞ×éÖ¯µÄ¡£ÎªÁËʹ»ìÂÒ±äΪÓÐÐò£¬¾ÍÒªÉú³ÉË÷Òý¡£Éú³ÉË÷Òýºó£¬¾ÍÓÐÁËË÷ÒýÒ³ºÍÊý¾ÝÒ³£¬Êý¾ÝÒ³±£´æÓû§Ð´ÈëµÄÊý¾ÝÐÅÏ¢¡£Ë÷ÒýÒ³´æ·ÅÓÃÓÚ¼ìË÷ÁеÄÊý¾ÝÖµÇåµ¥£¨¹Ø¼ü×Ö£©ºÍË÷Òý±íÖиÃÖµËùÔڼͼµÄµØÖ·Ö¸Õë¡£Ë÷Òý·ÖΪ´ØË÷ÒýºÍ·Ç´ØË÷Òý£¬´ØË÷ÒýʵÖÊÉÏÊǽ«±íÖеÄÊý¾ÝÅÅÐò£¬¾ÍºÃÏñÊÇ×ÖµäµÄË÷ÒýĿ¼¡£·Ç´ØË÷Òý²»¶ÔÊý¾ÝÅÅÐò£¬ËüÖ»±£´æÁËÊý¾ÝµÄÖ¸ÕëµØÖ·¡£ÏòÒ»¸ö´ø´ØË÷ÒýµÄ±íÖвåÈëÊý¾Ý£¬µ±Êý¾ÝÒ³´ïµ½100%ʱ£¬ÓÉÓÚÒ³ÃæÃ»Óпռä²åÈëеĵļͼ£¬Õâʱ¾Í»á·¢Éú·ÖÒ³£¬SQL Server ½«´óÔ¼Ò»°ëµÄÊý¾Ý´ÓÂúÒ³ÖÐÒÆµ½¿ÕÒ³ÖУ¬´Ó¶øÉú³ÉÁ½¸ö°ëµÄÂúÒ³¡£ÕâÑù¾ÍÓдóÁ¿µÄÊý¾Ý¿Õ¼ä¡£´ØË÷ÒýÊÇË«ÏòÁ´±í£¬ÔÚÿһҳµÄÍ·²¿±£´æÁËǰһҳ¡¢ºóÒ»Ò³µØÖ·ÒÔ¼°·ÖÒ³ºóÊý¾ÝÒÆ¶¯µÄµØÖ·£¬ÓÉÓÚÐÂÒ³¿ÉÄÜÔÚÊý¾Ý¿âÎļþÖеÄÈκεط½£¬Òò´ËÒ³ÃæµÄÁ´½Ó²»Ò»¶¨Ö¸Ïò´ÅÅ̵ÄÏÂÒ»¸öÎïÀíÒ³£¬Á´½Ó¿ÉÄÜÖ¸ÏòÁËÁíÒ»¸öÇøÓò£¬Õâ¾ÍÐγÉÁ˷ֿ飬´Ó¶ø¼õÂýÁËϵͳµÄËÙ¶È¡£¶ÔÓÚ´ø´ØË÷ÒýºÍ·Ç´ØË÷ÒýµÄ±íÀ´Ëµ£¬·Ç´ØË÷ÒýµÄ¹Ø¼ü×ÖÊÇÖ¸Ïò´ØË÷ÒýµÄ£¬¶ø²»ÊÇÖ¸ÏòÊý¾ÝÒ³µÄ±¾Éí¡£
ΪÁ˿˷þÊý¾Ý·Ö¿é´øÀ´µÄ¸ºÃæÓ°Ï죬ÐèÒªÖØ¹¹±íµÄË÷Òý£¬ÕâÊǷdz£·ÑʱµÄ£¬Òò´ËÖ»ÄÜÔÚÐèҪʱ½øÐС£¿ÉÒÔͨ¹ýDBCC SHOWCONTIGÀ´È·¶¨ÊÇ·ñÐèÒªÖØ¹¹±íµÄË÷Òý¡£ÏÂÃæ¾ÙÀýÀ´ËµÃ÷DBCC SHOWCONTIGºÍDBCC REDBINDEXµÄʹÓ÷½·¨¡£ÒÔSQL Server×Ô´øµÄnorthwindÊý¾Ý×÷ΪÀý×Ó
´ø¿ªSQL ServerµÄQuery analyzerÊäÈëÃüÁ
use pubs
declare @table_id int
set @table_id=object_id('tbldlvinfoback')
dbcc showcontig(@table_id)
Õâ¸öÃüÁîÏÔʾpubsÊý¾Ý¿âÖеÄtbldlvinfoback±íµÄ·Ö¿éÇé¿ö£¬½á¹ûÈçÏ£º
DBCC SHOWCONTIG ÕýÔÚɨÃè 'tblDlvInfoback' ±í...
±í: 'tblDlvInfoback'£¨1797581442£©£»Ë÷Òý ID: 0£¬Êý¾Ý¿â ID: 5
ÒÑÖ´ÐÐ TABLE ¼¶±ðµÄɨÃè¡£
- ɨÃ
Ïà¹ØÎĵµ£º
create proc P_QuerySplit
@sqlscript varchar(20), --±íÃû/SQLÓï¾ä
@pageSize int, --ÿҳ¼Ç¼Êý
@pageIndex int, &nbs ......
//ÕâÊÇÌí¼Ó
private void button1_Click(object sender, EventArgs e)
{
string s = "Persist Security Info=False;Integrated Security=SSPI;database=IIntegration;server=(local)";
&n ......
MySQL:
SELECT column from table
ORDER BY RAND()
LIMIT 1
PostgreSQL:
SELECT column from table
ORDER BY RANDOM()
LIMIT 1
Microsoft SQL Server:
SELECT TOP 1 column from table
ORDER BY NEWID()
IBM DB2
SELECT column, RAND() as IDX
from table
ORDER BY IDX FETCH FIRST 1 ROWS ONLY
Thanks Ti ......
SQL Server 2005Êý¾Ý¿â±¸·ÝºÍ»Ö¸´ÌØÐÔ
SQL Server 2000ÖдæÔÚµÄÐí¶àµÄ±¸·ÝºÍ»Ö¸´ÌØÐÔ¶¼Í¬Ñù±£ÁôÔÚÁËSQL Server 2005ÖУ¬µ«ÊÇÓÐһЩеÄÌá¸ßͬÑùÖµµÃÎÒÃǹØ×¢¡£
¾µÏñ±¸·Ý
SQL Server 2005ÈÃÄã¿ÉÒÔ´´½¨¾µÏñ±¸·Ý¡£¾µÏñ±¸·ÝÔÊÐíÄãΪ±¸·ÝÎļþ´´½¨Á½¸ö»òÕßËĸöͬÑùµÄ¿½±´£¬ÒÔ·À±¸ÆäÖеÄijһ¸ö¼¯ºÏË𻵵ÄÇé¿ö¡£¾µÏñ¾ßÓ ......
sqlserver2005Óйؼü×Öntile(x)ºÍover(partition by.. order by..)×Ó¾äÅäºÏ.
±ÈÈç»ñȡÿ¸ö±íµÄǰ10%¸ö×ֶΡ£
select id , name , colid , rn from (
select * , rn = ntile (10 )
over (partition by id order by colorder )
from syscolumns )t where rn = 1 ......