Perl DBI - 加载到 SQL Server
Posted
技术标签:
【中文标题】Perl DBI - 加载到 SQL Server【英文标题】:Perl DBI - Loading into SQL Serverl 【发布时间】:2011-06-19 15:07:58 【问题描述】:我必须每天将一个大小约为 50MB 的文本文件加载到数据库中。我正在使用 Perl DBI 使用插入语句将文件加载到 SQL Server 中。它的性能不是很好,我想知道是否有更好/更快的方式从 DBI 加载到 SQL Server。
【问题讨论】:
你没有说文件是如何处理的,但是 SQL Server 有一个不错的 ETL 工具——我想他们现在把它叫做集成服务。 【参考方案1】:您可能应该使用BULK INSERT
语句。没有理由你不能从 DBI 运行它。
【讨论】:
【参考方案2】:在执行大型INSERT
/UPDATE
操作时,禁用目标表上的任何索引、进行更改并重新启用索引通常很有用。这样,索引只需重建一次,而不是在每个INSERT
/UPDATE
语句运行后重建它们。
(这也可以通过将原始表复制到未索引的临时表,在临时表上执行您的工作,添加索引,删除原始表并重命名临时表来替换它,从而以零停机时间的方式应用.)
【讨论】:
【参考方案3】:另一种加快速度的方法(如果尚未完成)是使用prepared statements and bind-values。
【讨论】:
以上是关于Perl DBI - 加载到 SQL Server的主要内容,如果未能解决你的问题,请参考以下文章
Perl DBI / MS ODBC Driver (LinuxL:RHEL) / SQL-Server:如何插入/更新 BLOB varbinary(max) 数据?