我们的许多自动化进程都使用perl,并且需要访问我们的MySQL数据库。我讨厌承认这一点,但直到最近,我们还没有真正对我们的大多数流程进行太多的基准测试。我们的一个开发人员设置了一个测试来比较“使用MySQL”和“使用DBI”的性能,并使用以下伪代码:
for ($i = 1; $i <= 1000; $i++) {
pull and store all records in a 4,000 record table
}结果: MySQL - 57s、56s、57s DBI - 43s、42s、43s
出于某种原因,我惊讶地发现DBI的性能要好得多;考虑到我对这两个模块都知之甚少。我意识到运行的基准测试可能有几个问题,每个人的设置/结果都会非常糟糕,但我很好奇其他人是否通过使用DBI与MySQL模块获得了任何形式的性能提升。
发布于 2010-08-06 11:01:58
我找到了他提到的MySQL模块,它是DBD::mysql dist的一部分。引用它
从Msql-Mysql-
1.19_10 M(Y)模块开始,sqlPerl不再是一个单独的模块。相反,它是使用DBI驱动程序模拟的。强烈建议您直接使用DBI实现新代码。
因此,模拟层是造成性能损失的原因。此外,MySQL.pm在DBD::mysql的4.x行中被删除,它最后一次出现是在2006年。
https://stackoverflow.com/questions/3419468
复制相似问题