如何进行分页查询 本帖最后由 guxuemei1111 于 2013-11-07 16:03:49 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 limit不可以吗,除了这个还能用什么?? 分烦查询用limit啊,分类的话,可以用group by key 使用limit,可是每次都要从表里先查询出所有满足key=112的数据,如果数据非常多的话,会不会很慢? 不需要分类我现在每次在分页前都需要使用select * from table1 where key='112'形成一个新表,然后再对新表进行分页查询,不知道数据量非常大以后会不会很慢 肯定会很慢,你把key 做索引啊!key是int为什么要单引号! 想多了,用一般的limit分页即可,如果慢,则对key字段建立索引。 key建立索引,建议改成int,因为它的索引长度更小! 建立临时表(LSB),有自增字段ID->插入记录(你生成的表)->在代码中,用变量保存起始ID号,比如A1=3,A2=4SELECT * FROM LSB WHERE ID>=A1 AND ID<=A2 谢谢,已经建立索引,但是没有办法改为int,只能尽可能地去优化 越小的索引,速度越快!key这一列不能允许为null哦,否则索引无效! select * from table1 where key=112 limit 0,2 简单的分页就用 limit吧 你可以用select * from table where key=‘%s’ limit (i-1)*num,num%s为需要查找的key值i为第几页,第一页就是1 之类的num为每页多少条 用String性能影响也不会很大,因为索引用的是hashcode,hash算法冲突概率很小的。 如果只是简单地使用limit,当查询到limit 10000,10以上,速度应该会非常慢的吧? 这个是最简单的方法,可是limit index,pagesize中随着index越来越大,查询速度肯定也会越来越慢 请问是每一次查询之前,都要先向该临时表中插入select * from table1 where key='key'生成的记录吗? limit 10000,10以上,确实会越来越慢,因为它要把10000以前的数据全部加载出来,然后在从这里开始取10条,最后在把10000以前的数据全部扔掉!当然,这样也是有解决办法的! datetime 转换为 unix 时间戳出现的问题 mysql查询乱码的记录 求与时间函数有关的select语句。先致谢~ 关于MySQL用户登陆和创建数据库的问题!! mysql建多表查询视图的问题 服务器是tomcat,连接mysql,报错为什么,详细见内 数据库有不同组,用户可分入任意组,可同时属于不同组怎么做啊? MySQL数据库出现的unauthenticated user 和Lock的问题,求救! mysql数据库报错 mysql备份等一些问题。 这两种做法哪个更好? mysql客户端和服务器端使用的什么协议?
使用limit,可是每次都要从表里先查询出所有满足key=112的数据,如果数据非常多的话,会不会很慢?
不需要分类
我现在每次在分页前都需要使用select * from table1 where key='112'形成一个新表,然后再对新表进行分页查询,不知道数据量非常大以后会不会很慢
在代码中,用变量保存起始ID号,比如A1=3,A2=4
SELECT * FROM LSB WHERE ID>=A1 AND ID<=A2
你可以用
select * from table where key=‘%s’ limit (i-1)*num,num
%s为需要查找的key值
i为第几页,第一页就是1 之类的
num为每页多少条
请问是每一次查询之前,都要先向该临时表中插入select * from table1 where key='key'生成的记录吗?