not in 应该是最耗时的
如果只是用id来排序的话,有更高效的方法。

解决方案 »

  1.   

    http://www.google.cn/search?complete=1&hl=zh-CN&newwindow=1&q=%E6%B5%B7%E9%87%8F%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E6%9F%A5%E8%AF%A2%E4%BC%98%E5%8C%96%E5%8F%8A%E5%88%86%E9%A1%B5%E7%AE%97%E6%B3%95%E6%96%B9%E6%A1%88&btnG=Google+%E6%90%9C%E7%B4%A2&meta=这个中有详尽的分析,对于ac这种不能使用存储等来分页的情况,用这个里面的方法还是不错的。
      

  2.   

    not in 应该是最耗时的,
    我觉得在access中用第二种快点
      

  3.   

    1。
    所以说,不要看到分页,就总想着 “存储过程分页”2。
    简单从数据库查询来说,
    方式1,由于使用了 NOT IN 操作,需要进行全表的扫描,并逐条比较而
    方式2,数据库引擎,进行语法分析之后,就是之间返回所有数据虽然方式1,最终返回的数据大大小于方式2,但是需要额外的计算,并且这个计算上耗时,无法使用索引,随着,数据量不断的增加,那么两者就达到一个抛物线顶点,方式1 开始居于优势3。
    窃以为,对于 Access 这种小型桌面数据库来说,大多数情况下,直接使用方式2 足以,
    通常你不会用 Access 来存储上百万的数据吧?一般 Access 的数据,超过 5w 明显不行了,超过 10w 基本得考虑数据库升级了
      

  4.   

    not in不要用,全表扫描很慢的,还有<>最好也不要用,这个也等于全表扫描
      

  5.   

    感谢楼上 几句 看了半天 弄了一下 速度快了很多。但是更郁闷的来了。在网上了 看了一个叶子的十万数据分页 小于 1秒 是 asp的 数据库 accesss。
    如果 用 weizhuangzhi(壮志 ☆☆☆☆☆) ( ) 这个方法 access 的 一样的数据库。第一页都是20秒。 第一页的语句只是 select top 30 id from table1;为什么 asp 比 asp.net 快了这么多。 
    是我写的有问题吗?我的asp不好。大家给看看。我看了他的asp的分页就是 select id from table1呀。就是使用了游标。为什么这么快。
    难道 ado 比 ado.net快。
      

  6.   

    asp 分页 演示地址 www.120r.cn/pageac/
      

  7.   

    就是使用了游标。为什么这么快。
    难道 ado 比 ado.net快。
    ===========
    1。
    查询中基本不用游标,直观上将游标性能是最差的
    2。
    事实是 ADO 与 ADO.NET 没有直接的关系而是sql 影响到数据库查询引擎的查询策略,你的 sql 是真正是由数据库执行的要快,要建立有效的索引,保证你的 WHERE 子句能充分利用索引,这才是硬道理各种分页算法,在不一样级别的数据量以及不一样数据结构设计 中性能是大大不一样的
      

  8.   

    楼上的老大们。   asp.net能不达到 那样的速度。  和例子一样的数据库。