mysql查询所用时间过长 如何优化?
发布网友
发布时间:2022-04-07 22:45
我来回答
共2个回答
热心网友
时间:2022-04-08 00:14
建议这种情况下,可以只查询部分内容即可。可以用limit方法进行*查询条数的多少。
举例:
select * from tablename;//此时查询的是所有的记录,用时可能比较多。
select * from tablename limit 20,40;//这样就只会查询出需要的第20条到40条。
备注:除了此优化外,可以只查询需要的字段,还可以增加其余的一些where条件,来减少数据查询的压力。
热心网友
时间:2022-04-08 01:32
这limit是最重要的了,也是最常错的。
体现在网页上有2中一种是 上一页,下一页。
一种是 上一页 2 3 4 ······ 下一页 共100页 第____页
你看淘宝的。第一种是最简单的 ,
下面列出 下一页的写法。上一页自己改下吧。
selcet * from xxx where id>$id and a=0001 and b=0014 order by id limit 10
假如现在我们在第二页 ,一页10行,那么 $id=10*1, 然后做好做组合索引(id,a,b) ,字段id要递增,而且表要用innodb。
第二种呢 要跳页,你看淘宝他们都不跳很多了吧,跳页越大,压力也越大。所以有的干脆就没有第多少页给你填写。或者索性就*在100页里了。,
由第一种演化而来。下面也是下一页的写法,其他的自己可以修改的。
selcet * from xxx where id>$id and a=0001 and b=0014 order by id limit $id,10
假如现在我们在第三页,一页10行,那么$id=10*2 。同上面一样看情况做好组合索引,没有的话就直接 id 递增 表用innodb。
另外
desc和asc 什么的 我也没帮你加 你自己选择
这个方法我没测试过。也不一定都对,也有缺点的吧