新手问题 如何提高查询速度?

qinyuc · 2017年03月10日 · 最后由 tesla_lee 回复于 2017年03月11日 · 1617 次阅读

因为数据量大 还有不同的表,典型的做法是不是搞个 jenkins job, 把要查的东西集中写到一个小的表里,坏处是有一定的延迟和额外的维护?

先看能不能优化查询咯。不能的话,你说的分级缓存是个挺常见的做法。

描述得不够详细。数据量大,大到什么程度?几十万,几百万,还是已经过亿?如果大到一定程度就需要考虑分库或者分表。

如果你的业务不要求数据实时显示,那可以考虑你说的方案。

msg7086 回复

好 我先试试加一些 index

michael0015 回复

我得回去看看到底多大

把要查的东西集中写到一个小的表里,这种做法不靠谱,要么优化 sql,要么加缓存,还可以用 Elasticsearch 这样的搜索引擎

如果不要求数据的实时性,先直接用 Rails 的 Cache 看看效果吧……或许都用不到其他更高端的东西就能解决这个问题。 如果要求实时性,那就加索引先,其他优化方法得根据你的实际业务情况来判断了。

这个要看具体情况了

  1. 该加的 index 是不是加了
  2. 你的查询还能不能优化,是不是查询了过多的数据?
  3. 使用缓存
需要 登录 后方可回复, 如果你还没有账号请 注册新账号