【发布时间】:2011-02-11 19:15:57
【问题描述】:
我有兴趣使用 MySQL 构建一个巨大的数据库(1 亿条记录),以 1 分钟的间隔包含股票数据。该数据库将包含 5000 只股票的数据,比如 10 年。
两个问题:
(1) 过去,我有一个“插入慢”的问题——意思是,一开始插入的速度很好,但是随着表被数百万条记录填满,插入变得很慢(太慢了!)。那时我用的是 Windows,现在我用的是 Linux——应该会有所不同吗?
(2) 我知道索引技术可以帮助查询(数据检索)更快。问题是,有没有办法加快插入速度?我知道可以在插入时关闭索引,但是在插入后“构建”索引(用于数千万条记录!)也需要大量时间。有什么建议吗?
还有其他注意事项吗?提前感谢您的帮助。
【问题讨论】:
-
您需要什么插入率?一般来说,大型数据集需要大量内存来进行快速操作,以便所有索引都可以一直保存在内存中。我在 ms sql server 中有一个包含 3.5 亿行的表,没有插入问题,但我们最多每秒只插入大约 100 行,以及大致相同数量的更新和选择。
-
另外我们使用 48 Gigabyes 内存来确保索引在内存中,表上的索引超过 24 GB ;)
-
谢谢大卫——这很有帮助。
-
@user54009 只是好奇,这些数据是免费提供的吗?如果是的话,从哪里可以得到它?
标签: mysql database linux ubuntu