gpt4 book ai didi

mysql - 从 CSV 或 EXCEL 文件导入时暂停 MySQL 索引

转载 作者:行者123 更新时间:2023-11-30 01:15:57 24 4
gpt4 key购买 nike

如何在将数据导入数据库时​​停止 mysql 索引。我有一个 Rails 应用程序,用户可以从文件导入数据。我添加了一些索引以加快速度搜索电话号码和电子邮件地址的结果。

我的联系人模型与其他模型有更多关系,为了更简单的示例,我将其删除:

  create_table "contacts", :force => true do |t|
t.integer "user_id"
t.integer "status"
t.integer "gender", :default => 0, :null => false
t.string "salutation", :null => false
t.string "title"
t.string "first_name", :null => false
t.string "last_name", :null => false
t.binary "phone"
t.binary "email"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
:
:
end

add_index "contacts", ["phone"], :name => "index_contacts_on_phone"
add_index "contacts", ["email"], :name => "index_contacts_on_email"

导入需要很长时间。我可以阻止MySQL在导入数千个联系人时建立索引吗?导入后我将启用索引。有更好的方法来做到这一点吗?

谢谢,丹尼尔

最佳答案

实际上,您可以同时执行这两项任务。你听说过sidekiq吗?它在后台运行您想要的进程。所以mysql在后台建立索引。您必须为索引创建一个进程工作线程,这样它就不会中断您的文件导入。

https://github.com/mperham/sidekiq

只要浏览一下他们的基础知识,你就会明白它的要点。

关于mysql - 从 CSV 或 EXCEL 文件导入时暂停 MySQL 索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19058818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com