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

三中SQL 分页方法效率分析

三种SQL分页法效率分析
表中主键必须为标识列,[ID] int IDENTITY (1,1)
1.分页方案一:(利用Not In和SELECT TOP分页)
 语句形式:利用Not In和SELECT TOP分页) 效率中,需要拼接SQL语句
  SELECT TOP 10 * from  TestTable WHERE (Id  NOT  IN (SELECT  TOP  20    id  from        TestTable ORDER BY id )) ORDER BY ID
2.分页方案二:(利用ID大于多少和SELECT TOP分页)
  语句形式:利用ID大于多少和SELECT TOP分页)效率最高,需要拼接SQL语句
  SELECT TOP 10 * from  TestTable WHERE (ID  > (SELECT    MAX(id)    from (SELECT  TOP    20  id from    TestTable ORDER BY id) AST))
3.分页方案三:(利用SQL的游标存储过程分页)
语句形式:利用SQL的游标存储过程分页) 效率最差,但是最为通用
  create procedure SqlPager
@sqlstr nvarchar(4000),                --查询字符串
@currentpage int,                      --第N页
@pagesize int                        --每页行数
as
set nocount on
declare @P1 int,                      --P1是游标的id
  @rowcount int
exec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output
select ceiling(1.0*@rowcount/@pagesize) as 总页数--,@rowcount as 总行数,@currentpage as 当前页
set @currentpage=(@currentpage-1)*@pagesize+1
exec sp_cursorfetch @P1,16,@currentpage,@pagesize
exec sp_cursorclose @P1
set nocount off


相关文档:

一种不错的从SQL转Mysql数据库的方法

年初的时候一直在做一个网站MSSQL2000->MySQL5的迁移工作,因为采用了不同的程序系统,所以主要问题在数据的迁移。由于2个系统数据库结构差异非常大,不方便采取SQLSERVER里导入MYSQL的ODBC数据源的功能(也不推荐这么做,字段类型等不同点会搞死人的~),因此就在WINDOWS下自己写PHP脚本从SQLSERVER里读数据,然后按照 ......

mysql中的SQL分析工具

Another Look at MySQL 5.1's SQL Diagnostic Tools
http://dev.mysql.com/tech-resources/articles/mysql_51_diagnostic_tools.html 数据库的性能决定因素:
(1)数据库的设计
(2)SQL代码 可以用以下几种方法来解决一些性能问题:
(1)索引
(2)水平分区
(3)列适应的表
colum ......

SQL Server 存储过程

SQL   Server   7.0   入门(7)  
   
  时间:2001/02/06   11:57   作者:豆豆   CHINAASP    
     
   
   
    &nbs ......

SQL 查询“仅仅”至少“全部”的问题

“全部的问题”在上一篇中已经写过一点了。
“仅仅”
:这个问题可以使用多表连接来处理。例如:查询仅仅选修了课程A和课程B的学生的信息,sql如下:
其中表student定义了学生的信息。transcript定义了学生的选课情况。crscode字段表示课程代码。
select s.id
from student s,transcript t1,transc ......

sql中常用函数,省得老查别人的

1
:
replace
函数
第一个参数你的字符串,第二个参数你想替换的部分,第三个参数你要替换成什么
select

replace
(
'
lihan
'
,
'
a
'
,
'
b
'
)

--
---------------------------
lihbn
(所影响的行数为
1
行)
==== ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号