MySQL DB每天的重记录会影响性能吗?

时间:2015-07-29 06:13:39

标签: mysql performance csv

我正在开发一个应用程序,其中在FTP上创建的新文件将直接导入到数据库中,并根据该文件的内容,我将通过我的开发语言执行操作。正在创建的文件是.csv文件。

现在的问题是,CSV的总大小是否会影响性能?因为可能存在CSV文件包含超过100K行并且根据需要将所有行都强制插入的情况。将以大约10-15分钟的时间间隔创建三个这样的文件。

预期数据量每天至少有4千万条记录。我对此表示强烈怀疑,这是否也会影响性能?但是,据我所知,数据库大小对性能无关紧要,但查询仍然需要在一段时间间隔内刷新数据,还是需要处理我在这里没有提到的任何内容?< / p>

我的应用程序的流程是,一个模块将继续读取这些文件以存储数据并执行所需的操作并保存到DB的受尊重字段中,另一个模块将使用此处理过的数据进行查看。

感谢。

1 个答案:

答案 0 :(得分:0)

(目前还不清楚你在做什么处理;所以我会做一些猜测。)

您每秒插入/处理数百行。这将以各种方式影响系统,但它不应该太多&#34;。

如果表格是现有表格的替换

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Testing Pop-up Blocker</title> <script> function openPopUp(urlToOpen) { var popup_window=window.open(urlToOpen,"myWindow","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, copyhistory=yes, width=400, height=400"); try { popup_window.focus(); } catch (e) { alert("Pop-up Blocker is enabled! Please add this site to your exception list."); } } </script> </head> <body onload="openPopUp('http://www.google.com'); return false;"> <p>Testing Pop-up Blocker</p> </body> </html>
  2. CREATE TABLE tmp LIKE real; - 将所有3个加载到同一个表中?
  3. LOAD DATA ... tmp ...;
  4. 创建没有PRIMARY KEY之外的任何索引的表可能会更好,然后在步骤2和3之间添加索引。

    如果你只是需要 munch 对数据然后扔掉它:

    1. RENAME TABLE real TO old, tmp TO real; DROP TABLE old;
    2. CREATE TABLE tmp ( ... ) ENGINE = MyISAM; - 将所有3个加载到同一个表中?
    3. 可选择添加索引以方便咀嚼。 (加载后做的可能更快。)
    4. 做任何你需要的咀嚼。
    5. LOAD DATA ... tmp ...;