易截截图软件、单文件、免安装、纯绿色、仅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


相关问答:

csv文件转换成sql导入到数据库,没有数据为何?

执行的顺序:
1)文件浏览框(选择文件使用)
选择好文件后
点击一个导入按钮的时候 ,把上面上传框里的csv文件以一个ID为文件名,上传到**/**文件夹下
2)读取这个文件夹下的csv的文件,转换成sql
3 ......

请教SQLSERVER的两个问题 - MS-SQL Server / 疑难问题

1。怎样使xp_cmdshell能完整输出超过255个字符的字符串。
2。select 时,检索速度是与from后的 TABLE顺序有关,还是与where条件的顺序有关(TABLE数据多少 )
在系统属性设定里有个选项,可以修改单字段输出字数限制. ......

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

请教高手:
 以下是数据库中的三条记录,英文为字段名称  
  id planname TaskBeginTime Status
329 2010年03 ......

一条 SQL - Oracle / 基础和管理

有这样一条SQL
 Select Get_Costtaxrate(col1), Get_Tcostvalue(col1) from a
 
其中Get_Costtaxrate、Get_Tcostvalue都是函数,这两个函数里面都是查找一个大表,Get_Tcostvalue还需要调用Get_C ......

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

现在有一个部门表dept(部门名称,部门号。。)有一个人员表emp(姓名,人员编号,职位,薪资,部门)
emp表中的内容是这样的:
a 1 工程师 3000 软件部
b 2 普通员工 2000 硬件部
c 3 工程师 4000 硬件部
d ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号