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

Sql Server 2005 row_number()·ÖÒ³ÐÔÄܲâÊÔ

  ÏÖÔÚ·ÖÒ³·½·¨´ó¶à¼¯ÖÐÔÚselect top/not in/Óαê/row_number£¬¶øselect top·ÖÒ³(ÔÚÕâ»ù´¡ÉÏ»¹Óжþ·Ö·¨)·½·¨Ëƺõ¸üÊÜ´ó¼Ò»¶Ó­£¬ÕâÆªÎÄÕ²¢²»´òËãÈ¥ÌÖÂÛÊÇ·ñͨÓõÄÎÊÌ⣬±¾×ÅʵÓõÄÔ­Ôò£¬»¨ÁËһЩʱ¼äÈ¥²âÊÔrow_number()·ÖÒ³µÄÐÔÄÜ£¬¸Ð¾õ²¢²»ÏñÒ»²¿·ÖÈËËù˵µÄÄÇô¼¦Àߣ¬ÓÉÓÚ½Ó´¥Èí¼þ¿ª·¢²ÅÊ®¸öÔ£¬·½·½ÃæÃæµÄ¶«Î÷¶¼ÒªÑ§£¬¾­ÑéʵÔÚÓÐÏÞ,²»×ãÖ®´¦ÇëÔ­Á£¬²âÊÔÈçÏ£º
ƽ̨Óë»·¾³£º
CPU:AMD 1150 2G µ¥ºË
Äڴ棺1G(ϵͳÕý³£Æô¶¯ºóÔ¼Õ¼300M¿Õ¼ä)
Ó²ÅÌ£ºSATA 160G 8M Cache
ϵͳ£ºwindows 2003 ent+Sql Server 2005 sp2
Êý¾Ý£º¹²500ÍòÌõ
-------------------------------------------------------------------
²âÊÔÊý¾Ý£º
create table test_table
(
id   int identity(1,1) primary key not null,
cid   int  not null,
userName  varchar(50) null,
userPwd   varchar(50) null,
createTime datetime null
)
---------------------------------------------------------------------
²åÈë¼Ç¼(cid·Ö±ð²åÈë1,2,3,4,»úÆ÷ʵÔÚÌ«Âý,×ܹ²Ö»²åÈë500ÍòÌõ)£º
declare @count int
set @count=1
while @count<=1000000
begin
insert into test_table(cid,userName,userPwd,createTime) values(2,'admin','admin888',getdate())
set @count=@count+1
end
-------------------------------------------------------------------------------------------------------
·ÖÒ³²âÊÔ´úÂ룺
ÕâÀï²ÉÓÃrow_numberµÄÁ½ÖÖ·ÖÒ³·½Ê½£º·Ö±ðÓÃtopºÍbetween¹ýÂË
/*row_number() ²éѯ·½·¨Ò»*/
declare @tdiff datetime
set @tdiff=getdate()
select top 20 * from(select row_number() over(order by createtime desc,id asc) as rownumber,* from test_table ) as tb where rownumber>120000
select datediff(ms,@tdiff,getdate()) as 'ºÄʱ(ºÁÃë)'
/*row_number() ²éѯ·½·¨¶þ*/
declare @tdiff datetime 
set @tdiff=getdate()
select * from(select row_number() over(order by createtime desc,id asc) as rownumber,* from test_table ) as tb where rownumber between 120000 and 120200
select datediff(ms,@tdiff,getdate()) as 'ºÄʱ(ºÁÃë)'
----------------------------------------------------------------------------------------------------------
²âÊÔ·½·¨¼°½á¹û(È¡


Ïà¹ØÎĵµ£º

sql ÈÕÖ¾¹ÜÀí


Çå³ý SQL SERVER 2005 ÊÂÎñÈÕÖ¾
£±.ÓÒ¼üÔÚÇå³ýÈÕÖ¾µÄÊý¾Ý¿â£¬Èç“TestDB”£¬µã»÷[н¨²éѯ£¨Q£©]
£².ÊäÈëÒÔÏÂSQLÓï¾ä£¬ÆäÖГTestDB”ÊÇÊý¾Ý¿âÃû³Æ
DUMP TRANSACTION TestDB WITH NO_LOG
£³.Ö´ÐиÃSQL£¬³É¹¦ºó¼ÌÐøÒÔϲÙ×÷
£´.ÓÒ¼ü¸ÃÊý¾Ý¿â½Úµã£¬µã»÷[ÈÎÎñ£¨T£©] -> [ÊÕËõ£¨S£©] -> [Îļþ ......

ʹÓÃOracle sql_trace ¹¤¾ß

ǰÑÔ£º
    sql_trace ÊÇÎÒÔÚ¹¤×÷Öо­³£ÒªÓõ½µÄµ÷ÓŹ¤¾ß£¬Ïà±È½Ïstatspack ÎÒ¸üÔ¸ÒâÓÃÕâ¸ö¹¤¾ß¡£
    ÒòΪÊý¾Ý¿âÂýÔ­ÒòµÄ85%ÒÔÉÏÊÇÓÉÓÚsqlÎÊÌâÔì³ÉµÄ£¬statspackûÓÐsqlµÄÖ´Ðмƻ®¡£ÏÔʾûÓÐËüÖ±¹Û£¬·½±ã£¬¶ÔÏëÒªÕë¶ÔÐÔ²»Ç¿£¬
    1£¬½éÉÜÊý¾Ý¿âµ÷ÓÅÐèÒª¾­³£»áÓõ½µÄ¹¤¾ß ......

¡¾×ª¡¿Sql½Å±¾ÃüÁîÖ´ÐÐ

ÎÒÃÇÐèÒª¶à´ÎÔËÐÐÒ»¸öÎļþ¼ÐÏÂËùÓеÄsql½Å±¾£¨¿ÉÄÜʱtxt»òÕßsqlµÈÎı¾Îļþ£©À´¸üÐÂSchema£¬Îļþ¶àµÄʱºòÐèÒª¶à´ÎÖ´ÐУ¬ÄÇô¿ÉÒÔʹÓöàÌõÓï¾äÀ´Ö´ÐÐsql½Å±¾¡£
--ÏÂÃæµÄ²éѯÓï¾äÔÚSQL QueryÖÐÔËÐУ¬½«Ö´ÐÐd:\vssÏÂÃæµÄÖ¸¶¨sql½Å±¾£¬ÕâЩ½Å±¾µÄºó׺¶¼ÊÇtxt
exec master..xp_cmdshell 'isql -U sa -P 123 -i d:\vss\MSS ......

SQLË÷Òý

ʹÓÃË÷Òý¿É¿ìËÙ·ÃÎÊÊý¾Ý¿â±íÖеÄÌØ¶¨ÐÅÏ¢¡£Ë÷ÒýÊǶÔÊý¾Ý¿â±íÖÐÒ»Áлò¶àÁеÄÖµ½øÐÐÅÅÐòµÄÒ»Öֽṹ£¬ÀýÈç employee ±íµÄÐÕ£¨lname£©ÁС£Èç¹ûÒª°´ÐÕ²éÕÒÌØ¶¨Ö°Ô±£¬Óë±ØÐëËÑË÷±íÖеÄËùÓÐÐÐÏà±È£¬Ë÷Òý»á°ïÖúÄú¸ü¿ìµØ»ñµÃ¸ÃÐÅÏ¢¡£
¡¡¡¡Ë÷ÒýÊÇÒ»¸öµ¥¶ÀµÄ¡¢ÎïÀíµÄÊý¾Ý¿â½á¹¹£¬ËüÊÇij¸ö±íÖÐÒ»ÁлòÈô¸ÉÁÐÖµµÄ¼¯ºÏºÍÏàÓ¦µÄÖ¸Ïò±íÖÐÎïÀ ......

PL/SQLÀý×Ó

ÒÔÏÂÊǾ­²âÑéÄÜÕýÈ·ÔËÐеÄ:
create    table t_emp_log212
(
who varchar2(10) not null,
action varchar2(10) not null,
actime date
);
create or replace trigger tri_emp_insert
before insert
on t_emp
begin
insert into t_emp_log(who,action,actime)values(user,'insert',sysdate);
end ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ