表 article 有 100 多万主题内容
cid 是分类,建立索引
uid 是用户 ID,建立索引
time 是发布时间,建立了索引
表内还有标题和内容及其它杂项字段
SELECT * FROM `article` WHERE cid=1 AND uid=100 ORDER BY time DESC LIMIT 20;
查询时间需要 0.5 秒,如果不加 ORDER BY time DESC 只需要 0.08 秒;
如果不加 ORDER BY time DESC 又达不到业务需求,我需要查询的是用户最新的主题内容,除了这个方法还有没其它更优化的查询方法?
还有就是当翻页更多的时候更慢 LIMIT 100, 20
我再经过优化了下语句:
SELECT * FROM `aws_article` WHERE cid=1 AND uid=100 ORDER BY time DESC, id DESC LIMIT 20;
增加了 id DESC 查询时间减少到 0.2 秒了,还能再优化吗?
cid 是分类,建立索引
uid 是用户 ID,建立索引
time 是发布时间,建立了索引
表内还有标题和内容及其它杂项字段
SELECT * FROM `article` WHERE cid=1 AND uid=100 ORDER BY time DESC LIMIT 20;
查询时间需要 0.5 秒,如果不加 ORDER BY time DESC 只需要 0.08 秒;
如果不加 ORDER BY time DESC 又达不到业务需求,我需要查询的是用户最新的主题内容,除了这个方法还有没其它更优化的查询方法?
还有就是当翻页更多的时候更慢 LIMIT 100, 20
我再经过优化了下语句:
SELECT * FROM `aws_article` WHERE cid=1 AND uid=100 ORDER BY time DESC, id DESC LIMIT 20;
增加了 id DESC 查询时间减少到 0.2 秒了,还能再优化吗?