首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MySQL中输入大量数据

在MySQL中输入大量数据
EN

Stack Overflow用户
提问于 2013-05-30 11:33:57
回答 2查看 101关注 0票数 0

我在MySQL库中上传数据时遇到了一个问题。我有超过3700万随机生成的代码(8位数)。

我想将它们上传到MySQL中的定义表中。我的意思是,我想按代码的开头字母排序,然后上传到相应的表中,例如:如果代码以W开头,则需要在W_codes表中上载,如果代码以1开头,则需要在1_codes表中上传等等。

我有一个C#程序,它自己对代码进行排序,并将代码上传到MySQL,但每100万次代码需要超过6-7个小时。

你有什么更简单的想法,如何做排序,然后上传代码在相应的表?MySQL .sql上传大小限制为128 is。

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-30 11:43:56

我认为以这种方式划分代码对我来说没有多大意义。时间或地理代码分区将更有意义。

这样的设计肯定违反了一些规范化规则。你的密码应该有一个关系。

对于一个数据库来说,三千七百万不是一个大数字。你觉得你为什么要这么做?

我会将它们全部加载到数据库中的一个表中,看看它是如何执行的。您没有说明表是否有其他值,代码是否是主键,也没有说明用于访问数据的WHERE子句是什么样子的。也许你只是没有正确地索引表。这将使查询时间发生巨大变化。

代码是静态的和只读的吗?还是你也给这张桌子写信?

如果我不得不求助于您所描述的方案,我将使用数据库本身来选择分区表中的数据。对数据库进行了优化,以完成这类工作。

票数 4
EN

Stack Overflow用户

发布于 2013-05-30 11:49:16

我会做以下几点。创建一个临时表。将所有代码插入单个批处理的临时表中。根据第一个字符查询要插入到其他表中的诱惑表。一个简单的where子句应该起作用,没有什么复杂的。不会花很长时间的--只有3700万条记录。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16835063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档