易截截图软件、单文件、免安装、纯绿色、仅160KB

大家好,我问个sql的 - .NET技术 / C#

有10W条数据,要取出90000到900010之间 的10条记录

效率最快的语句怎么写??
select top 10 * from tab where id>=90000 and id<900011

ID是主键,速度不会慢 否则,怎么写都是慢

select top 每页显示的记录数 * from topic where id not in  
 (select top (当前的页数-1)×每页显示的记录数 id from topic order by id desc)  
 order by id desc  

with temptbl as (  
  SELECT ROW_NUMBER() OVER (ORDER BY id desc)AS Row,  
  ...  
)  
SELECT * from temptbl where Row between @startIndex and @endIndex

select top 10 * from tab where id>=90000 and id<900011



select * from tab where id BETWEEN 90000 and 900010

引用
select top 10 * from tab where id>=90000 and id<900011

ID是主键,速度不会慢 否则,怎么写都是慢

up

如果有主键ID(从1开始递增),用1楼的方法
如果没有主键ID,你的数据库是SQLSERVER2005或2008
用下面的语句

SELECT A.*
from ( SELECT TOP 90010 *,
  ROW_NUMBER() OVER ( ORDER BY 表.主键字段 DESC ) AS RowNumber
  from 表
  WHERE 条件
  ) A
WHERE A.RowNumber BETWEEN 90001 AND 90010
ORDER BY A.RowNumber

如果你有RowNumber的话,当然使用它。

SQL写的越复杂越慢

select top 1


相关问答:

利用C#编写txt转化到xml的程序

txt 和XML 格式相应
不借助DataSet
导入读取TXT文件
然后直接写入XML(同一文件,不同数据,递增原数据没有被覆盖情况下增加数据.)
教个要点或最好是有个代码提示的
过路好汉 帮个忙撒^^
不会,帮楼主 ......

sql - MS-SQL Server / 疑难问题

sql的软件在哪里可以下啊!在网上找了蛮多都用不了啊

随便搞一D版吧,

迅雷第一个就可以用
2000,2005都这样

http://119.147.41.16/down?cid=0698C2D64D7D637D90A6D2482298E6717D4F15CD&t=2&fmt=-1 ......

求一个SQL语句 - MS-SQL Server / 基础类

字段1,字段2.....字段N,Status,ParentID
1,Name1....test1,1,99
1,Name1....test1,3,99
1,Name2....test2,1,101
1,Name2....test2,3,101
1,Name3....test3,2,101
1,Name1....test1,4,101
想要的结果是:
1,Na ......

SQL语句问题 - MS-SQL Server / 疑难问题

请教高手:
 以下是数据库中的三条记录,英文为字段名称  
  id planname TaskBeginTime Status
329 2010年03 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号