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

qinyuc · March 10, 2017 · Last by tesla_lee replied at March 11, 2017 · 1617 hits

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

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

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

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

Reply to msg7086

好 我先试试加一些 index

Reply to michael0015

我得回去看看到底多大

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

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

这个要看具体情况了

  1. 该加的 index 是不是加了
  2. 你的查询还能不能优化,是不是查询了过多的数据?
  3. 使用缓存
You need to Sign in before reply, if you don't have an account, please Sign up first.