我遇到了在 MySQL 库中上传数据的问题。 好吧,我有超过 3700 万 随机生成的代码(8 位数)。
我想将它们上传到 MySQL 中定义的表中。我的意思是,我想把代码按照首字母排序,上传到对应的表中 例如: 如果代码以W开头,需要上传到W_codes表 如果代码以1开头,需要上传到1_codes表 等等……
我有一个 C# 程序可以自行排序并将代码上传到 MySQL,但每 100 万个代码需要 6-7 个小时。
你有没有更简单的想法如何排序,然后上传对应表中的代码? MySQL .sql 上传大小限制为 128MB..
有什么想法吗?
最佳答案
我认为以这种方式划分代码对我来说意义不大。时间或地理编码分区会更有意义。
像这样的设计肯定会破坏一些规范化规则。您的代码应该有一个关系。
3700 万对于数据库来说并不是一个很大的数字。为什么您认为您需要这样做?
我会将它们全部加载到数据库中的一个表中,然后查看它的执行情况。你不会说表是否有其他值,代码是否是主键,或者你用来访问数据的 WHERE 子句是什么样的。也许你只是没有正确地索引表。这将大大缩短查询时间。
代码是静态的和只读的吗?或者你也写到这个表?
如果我不得不求助于您所描述的那种方案,我会使用数据库本身将数据选择到分区表中。数据库经过优化以执行此类操作。
关于php - 在 MySQL 中输入海量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16835063/