我在某个地方读到有一个guiding principle将表中的行数限制在100万以下。我想知道这是不是真的。对于我拥有的项目,我将大致拥有分别具有10000行、40000行、160000行和100000行的表。在一台4核、8GB的机器上,我能期待什么样的性能呢?(我知道有些人每秒达到2万个请求)

最佳答案

一百万是假的。我运行过MySQL实例,其中的表有2000万行和十几列。查询速度不快,但应用程序离线处理数据,性能非常好。
您应该在自己的系统上对查询进行基准测试,以确定其性能。除了8GB是大型数据库服务器的良好起点(您应该能够将索引保存在内存中,较小的表也可以放在内存中)之外,我无法告诉您任何关于“4核8GB”系统的信息。四个内核可能有足够的CPU,但可能不是。这完全取决于它们是什么样的内核。
您也不应该忽略磁盘性能,特别是如果您的表不适合RAM。我认为我有2000万行的机器有一个由15k RPM磁盘组成的RAID 1+0阵列。
但不要把我的评论认为你需要更多的RAM,更多的cpu或者更快的磁盘。在自己的系统上运行一些基准测试。确保您的系统为您的查询提供了适当的架构。确保尽可能少地使用子查询和视图(结果没有索引)。确保您的表已正确编制索引。然后看看你的性能和硬件。

07-25 23:48