mysql数据库里面一个商品表;商品表有200多个字段,有2000万条数据,可是商品分页的时候,sql语句老是出现在慢查询日志里,请教高手如何优化?
select * from d_shop order by id DESC limit 200, 220
mysql数据库里面一个商品表;商品表有200多个字段,有2000万条数据,可是商品分页的时候,sql语句老是出现在慢查询日志里,请教高手如何优化?
select * from d_shop order by id DESC limit 200, 220
基于楼上的答复,再问一点你们的商品页面是否使用了跳页,如果只有上一页和下一页的情况下可以让前端传递上一页最后一条数据id,反之则是当前页的第一条数据ID,加上where过滤,这将是很明显的提升
5 回答3.2k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
1 回答2.9k 阅读✓ 已解决
5 回答1.4k 阅读
大概这些优化建议吧你可以参考一下:
选择你要的字段,而不是用*选择所有字段。这样会减少数据传输量和处理的时间。
创建索引,提高查询速度:
CREATE INDEX idx_id ON d_shop(id);
使用延迟关键字:
优化数据库表的结构。你可以把商品信息、库存和价格等信息分成不同的表。这样,在查询时候,你只要关联所需要的表,来提高查询性能。你可以用缓存(比如Redis或Memcached)来减少数据库负担。