我们正在设计一个新的系统,根据性能使用MySQL或Postgres。但是在进行实际比较时有几个问题。我总结了一些问题,如果有的话会有所帮助。专家们在这里投入了一些智慧。
使用中性效果测试工具
postgres有一些叫做explain analyze的东西,它基本上提供了在数据库端进行优化所需的所有细节。但MySQL并没有像这一样详细的内容。
当然,这些命令提供有关单个查询的信息,实时性能涉及应用程序将如何接收的更大工作负载。
这有多少是真的?如果postgres中的查询速度较慢而MySQL中的查询速度较快,那么对于较重的工作负载而言,它会更快,当然只有实时测试可以说明,但值得向这个方向发展吗?
我熟悉Jmeter,但还有其他更好的工具可以完成这些任务。
优化两个数据库
据说Postgres对于简单读取来说速度较慢,但随着数据的增长和更复杂的工作量而扩展得很好。来自here和here。
说到这一点,需要多少优化才能使测试对两个数据库系统都公平。
欢迎任何其他观点。
答案 0 :(得分:2)
数据的大小将比工作负载更重要,资源(内存)调优也会产生很大的影响。
“有了这个说法,需要多少优化才能使测试对两个数据库系统都公平。”
在我看来,公平的唯一方法是进行实际的优化。优化您的测试系统,使其尽可能接近生产。如果你不打算写SQL,两者的表现都差不多。 (价值+/- 1000美元的服务器硬件)
如果您正在编写SQL,那么您希望让程序员满意。 (10000美元的程序员不会给你带来更多的表现)
答案 1 :(得分:1)
唯一真实的性能比较是您正在设计的系统。为什么不让您的系统可配置为使用MySql或PostGreSql,然后对两个数据库运行负载测试并比较性能结果?这就是我在这个开源MySql vs PostGreSql vs Docker中比较news feed micro-service时所做的。