Mysql 如何改进相关内容的获取?
我正在开发一个Rails 3.2高度面向内容的网站,在我们的主MySQL(MariaDB)表中有大约3百万条记录 在Mysql 如何改进相关内容的获取?,mysql,ruby-on-rails,caching,Mysql,Ruby On Rails,Caching,我正在开发一个Rails 3.2高度面向内容的网站,在我们的主MySQL(MariaDB)表中有大约3百万条记录 在#show操作中,我们显示了5个列表,其中包含20条相关记录(属于同一型号),每个列表使用不同的列进行匹配(如类别id列) 我们在这些相关内容部分遇到了很多性能问题,我们正在寻找改进的方法 我们已经为所有列编制了索引,优化了查询(没有进行连接),并尝试了片段缓存循环。。。尽管如此,大多数查询都需要500毫秒到3秒钟的时间 从现在的情况来看,我可以想象以下解决方案: 添加Elasti
#show
操作中,我们显示了5个列表,其中包含20条相关记录(属于同一型号),每个列表使用不同的列进行匹配(如类别id
列)
我们在这些相关内容部分遇到了很多性能问题,我们正在寻找改进的方法
我们已经为所有列编制了索引,优化了查询(没有进行连接),并尝试了片段缓存循环。。。尽管如此,大多数查询都需要500毫秒到3秒钟的时间
从现在的情况来看,我可以想象以下解决方案:
content/2/most\u viewsed\u by\u category
,然后使用此列表再次从数据库中获取记录。此缓存可以持续3天而不会出现重大问题所讨论的数据库是MySQL(MariaDB),在我看来,这本身就是一个问题。您也可以通过添加更多内存或使用ssd来升级服务器。您如何进行片段缓存?还有,你渴望装货吗?例如,是否存在n+1个查询?您可以使用Bullet gem()帮助查找n+1。Fastly(Fastly.com)是一个非常快速的清漆服务,它可以提供帮助,但是,这只是掩盖了潜在的问题。