首页 >数据库 >mysql教程 >如何加快大型 MySQL 表中的行计数?

如何加快大型 MySQL 表中的行计数?

Patricia Arquette
Patricia Arquette原创
2024-11-21 03:00:13966浏览

How Can We Speed Up Row Counts in Large MySQL Tables?

加速 MySQL 中的行计数

尽管对“状态”列建立了索引,但在大型 MySQL 表中对行进行计数仍然很耗时,从而导致问题:有没有技术可以加快此类查询?虽然存在结果缓存或维护单独的汇总表等技术,但可以直接优化这些计数吗?

使用具有 200 万行的示例表,基准测试显示 MyISAM 的执行速度(0.9-1.1 秒)比 InnoDB(3.0)更快-3.2 秒)用于 GROUP BY 查询。然而,这两种方法都无法实现亚秒级性能。

尽管有这些结果,但探索加速直接查询的替代方法(例如基于列的存储引擎)可能需要权衡其他查询类型。因此,通过触发器维护汇总表成为推荐的解决方案,以确保无论表大小如何都能进行即时计数检索。

要实现此方法,请利用提供的样板代码创建用于书籍插入、删除和更新的触发器。这些触发器在汇总表中维护每个状态下的图书数量,确保对任何状态进行有效的计数检索,从而无需昂贵的逐行扫描。

以上是如何加快大型 MySQL 表中的行计数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn