mysql - 将大文件中的数据高效上传到数据库

标签 mysql sql

大家好,我需要一个建议,如何将足够大的文件中的数据有效上传到 mySql 数据库中。所以我有两个文件 5,85Gb 和 6Gb 的数据。对于上传,我使用了“将本地数据加载到文件中”。第一个文件仍在上传(36 小时)。当前索引大小 7.2 GB。我有两个问题:

1) 数据格式为 Lile :{string , int, int, int, int}。我不需要这个 int 值,所以我创建了一个带有 varchar(128) 类型字段的表,我的查询是LOAD DATA LOCAL INFILE "file"INTO TABLE "tale" ,那么数据是否正确(我的意思是只有没有 int 字段的字符串)。

2) 索引越大,下一个加载时间就越大。那么,我做错了什么吗?我的意思是,我需要什么。我需要在该字符串中进行快速搜索(特别是在最后一个单词中)。因此,所有字符串都恰好包含 5 个单词,将每个单词放在不同的列(n 行,5 列)中是否有意义。

请提出任何建议。

最佳答案

您可以暂时删除索引并在数据加载到表上后重新创建索引吗?我认为这会起作用。

重新创建索引需要时间。

关于mysql - 将大文件中的数据高效上传到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37965599/

相关文章:

MySQL查询引用多对多表

sql - 查询Oracle将日期间隔连接在一行中

sql - PostgreSQL遇到序列化失败的条件是什么?

php - 如何创建表并在其中插入数据,但如果已有同名表,则只需插入数据并且不再创建表

sql - ORA-08103 在过程中使用全局临时表 DML(插入、更新、选择),选择光标到临时表显示错误对象不存在

SQL查询以查找每个不同日期的最大值和最小值

php - Arduino UNO、C3300 + PHP 网络服务挑战

mysql - 我怎样才能正确地按阶梯进行排序?

mysql - 选择使用动态生成的表名

php - 如何获取 PHP 登录脚本以正确登录用户?