MySQL 性能优化建议 -- 知识铺
我得和 Gaëtan Gates Perrault 一起建议你的模式设计或环境可能有问题。
1000 万条记录并不是很多。
组织良好的 MySQL 实例可以处理针对具有数十亿条记录的表的单记录查找查询,如果查询使用主键并且有大量可用的缓冲池,则这些查询可以在几毫秒内完成。
几个问题:
-
您是否使用 InnoDB(或 XtraDB,这是 InnoDB 的 Percona 版本)?如果没有,请立即停止。 MyISAM 不应该用于生产应用程序,除非在极少数情况下,而且目前它比 InnoDB 慢得多。
-
您是否拥有配置良好的数据库服务器实例,以及足够的 innodb_buffer_pool?该数据库足够小,整个数据库可能可以容纳在 RAM 中。
-
您的数据库实例是在一台机器上单独运行,还是与加载该机器的应用程序在同一台机器上运行?
-
您分析过您的实际查询吗?您可能在主要查询之一的某个位置进行了表扫描。
或者您可能正在执行不使用索引的 ORDER BY,因此它需要主动排序;由于聊天应用程序必须经常获取最新的聊天记录,因此这是一种可能性。
-
最后,您可能想探索按日期分区。
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/geek001/post/20240507/MySQL-%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96%E5%BB%BA%E8%AE%AE--%E7%9F%A5%E8%AF%86%E9%93%BA/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com