【发布时间】:2012-06-05 05:47:08
【问题描述】:
晚上,
我正在经历一个漫长的过程,将数据从一个 15 岁的只读数据格式导入 MySQL,以从中构建一些较小的统计表。
我之前构建的最大表(我认为)是 3200 万行,但我没想到它会变得那么大,而且真的让 MySQL 吃力。
表格将如下所示:
surname name year rel bco bplace rco rplace
Jones David 1812 head Lond Soho Shop Shewsbury
所以,小整数和 varchars。
任何人都可以提供有关如何使其尽快发挥作用的建议吗?任何列上的索引是否会有所帮助,或者它们只会减慢查询速度。
每一列中的大部分数据都会被重复多次。有些字段的可能值不超过 100 种。
我将查询表的主要列是:surname、name、rco、rplace。
【问题讨论】:
-
索引加快数据检索并减慢数据插入。一般来说,它们是一件非常好的事情:我建议为您可能查询表的每一列创建它们。
-
3000 万行对于现代 RDBMS 来说并不算多。当然,除非您在没有索引的情况下进行全表扫描。
-
感谢您的评论。我认为这是我的 3200 万的问题之一。行表。插入行导致崩溃。
-
索引真的很有帮助;他们存在的理由是加快查询速度,而不是减慢查询速度!首先插入索引需要一段时间,因为它需要收集整个表的值,但之后您会发现查询要快得多。
-
嗯...您在插入或查询大型数据集或两者时遇到问题?
标签: mysql database-design database-optimization