0

我们目前使用 InnoDB 存储引擎,速度约为 1k/s。一旦记录被插入到数据库中,它就会在报告中被查询,这就是问题所在。我们添加了正确的索引并压缩了表,但它只提供了这么多帮助。

大多数情况下,只有前 30 天的记录会被严格查询,其余的则无法访问。超过一年的记录根本不会被查询。此外,我们的用户只能真正访问最新的数据/记录。

Mysql 的分区功能对我们来说是不是很理想?我们是否必须通过我们的应用程序实现我们自己的分区?

4

1 回答 1

0

MySQL 查询缓存可以显着提高 SELECT 查询的性能。如果您还没有使用它,那么您肯定可以从中受益,而且它可能比分区更容易实现。

查询缓存将 SELECT 查询的结果存储在内存中,如果在表更改之前再次将相同的 SELECT 查询发送到服务器,则使用它们提供即时响应。

下面是分配 2GB 服务器内存来缓存 SELECT 查询所需的 my.ini 配置项的示例:

#Query Cache
query_cache_size = 209715200
query_cache_limit = 10485740
于 2012-12-05T05:44:01.497 回答