![]() |
1
4
您应该尝试的一件大事是围绕多个插入放置一个事务,因为将数据库提交到磁盘确实需要很长时间。您将需要决定批处理级别,但第一次粗略的尝试是围绕整个批处理包装一个事务。 |
![]() |
2
3
不知道桌上引擎(Myisam?YNANDB?),模式和索引,很难评论您在那里使用的两个数据库之间的具体情况。 但是,当使用这样的MySQL时,您可能会发现将数据写入临时文本文件的速度要快得多,然后 use the LOAD DATA INFILE syntax 把它全部加载到数据库中。看起来像 you can call the execute method on your connection object 运行执行此操作所需的SQL。 此外,如果您对逐行添加内容有着严格的要求,并且每次都要重新创建表,那么您可以在程序中验证键约束,并且仅在插入所有行之后才添加这些约束,从而节省数据库在每次插入时进行约束检查的时间。 |
![]() |
3
3
我做了以下工作来实现一些批处理:
这不使用事务,但以一种非常懒惰的方式,它允许我使用一个较小的示例将插入/解析阶段从大约13秒变为大约2秒。我将看到MySQL和SQLite之间的区别,现在使用完整的示例进行了这个更改。 我找到了这个的基本信息 here .
结果:
我没有在mysql和sqlite之间刷新缓存,这可能有源文本文件,但我不认为这是一个相对重要的区别。 |
![]() |
hello_programmers · Mysql从其他表输出一列 1 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |
![]() |
Popo · Sql查询:返回数据库中不可用的where条件 1 年前 |
|
Hamdan Nuramdani · 对账单中一周内不同表中的数据求和 1 年前 |
|
Kugelfisch · 用php为数据库加密数据 1 年前 |