SQL批量上传

时间:2011-02-11 15:29:03

标签: c# sql mysql

有没有办法将数据批量上传到SQL表而不使用每行的INSERT函数?我正在使用mySQL。

我目前有一个程序,可以将实时数据从互联网上提取出来,然后存储在数据库中。执行此操作时,它会擦除​​一个表,然后将新数据放入。当它执行此操作时,它会一次执行一行。这样就可以了,因为其他程序会在异步时间内拉出这些数据,因此无法保证它能够获取完整的表格。有时它会拉10行,20等。如果有一种方法我可以一次插入所有行,这样其他程序将拉0(就在擦除表之后)或所有行都很棒。

谢谢,任何想法都非常感谢!

3 个答案:

答案 0 :(得分:1)

如果您的mysql表类型是InnoDB,只需使用一个事务。然后,当您提交时,所有更新将同时显示。

答案 1 :(得分:0)

您可以使用LOAD DATA INFILE从文件中快速加载表格。

如果您担心客户端部分查看数据,最简单的方法是将负载放入临时表中,然后执行一些table renaming以使更改看起来是即时的

答案 2 :(得分:0)

继续使用Eric的备用解决方案:另一种方法是使用临时表而不是临时表来获得有效日期。访问该表的SQL将发生变化,以便选择最新的数据日期。如果它是更新的一半,则select应该获取一半的新数据和一半的旧数据。一旦新数据到达,您可以随意删除旧数据。

相关问题