我对perl dbi中嵌套窗体中处理sql的性能有疑问。关于嵌套sql的Perl DBI性能
bascially,什么脚本正在做的是
从DBI
while循环中,
使用连接到DB1
连接到DB2
获取数据来自DB1的数据并创建更新或插入语句
从DB2在DB2中执行SQL
disconenct
断开DB1
现在的问题是,这是最好的做法,当涉及到性能或以下的方法是最好的选择。从DB1
获取日期
将数据写入到一个临时文件
从临时文件中获取数据
process the data to udpate in DB2.
编辑:我添加了一些连接到DB2后连接到DB1。但那不是我想要创造的点。这更多的是关于服务器从存储数据的数据库服务器和磁盘读取的I/O和系统调用的性能问题。
如果你看看第一种方法。
内部循环。 脚本从DB1 获取一行数据,并等待在DB2中处理返回的数据。
如果有成千上万的记录,什么时候你在做系统的thousnds对性能的影响服务器调用从磁盘读取数据
连接到DB在while循环不是一个好主意。您应该在脚本的开头连接到DB2。在这一点上,我没有看到其他的东西在第一段代码中有所改进。 – 2011-05-02 18:26:57