当数据库中某个表数量特别大时(超过300万条), 查询时间特别长. 能不能限定查询的条数, 比如从第一条开始检索, 检索了10万条的时候就不再往下查询了, 忽略后面的行.这个需求可以实现吗? 最好能通过SQL语句实现.

解决方案 »

  1.   

    楼上两位说的不对,limit的含义是,当检索到了N条结果,但只返回给用户limit指定的条目数,而不是限定数据库的搜索范围!
    楼主的问题,可以通过分区来解决,但要求楼主用最新版本的MySQL!
    或者,给需要检索的那个字段建立索引,因为索引是B树结构,学过数据结构应该知道,搜索B树,实质只搜索了一部分记录,而不是全部!
      

  2.   

    楼上两位说的不对,limit的含义是,当检索到了N条结果,但只返回给用户limit指定的条目数,而不是限定数据库的搜索范围!
    楼主的问题,可以通过分区来解决,但要求楼主用最新版本的MySQL!
    或者,给需要检索的那个字段建立索引,因为索引是B树结构,学过数据结构应该知道,搜索B树,实质只搜索了一部分记录,而不是全部!对的, 我想要的是限定数据库的搜索范围. 但用的不是最新版的MYSQL.
    建立索引好像也不能解决问题, 因为我要一次性查询多个字段. 是一个很复杂的SQL语句.
      

  3.   

    虽然没得到想要的答案, 但也结了吧. 可能SQL确实没有这个功能.