首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一个表与多个表的MySQL性能

一个表与多个表的MySQL性能
EN

Stack Overflow用户
提问于 2017-07-20 16:37:12
回答 1查看 235关注 0票数 1

我知道MySQL通常很好地处理多行表。但是,我目前面临这样一个设置:一个表将由多个用户同时读写(大约10个),而且该表很有可能包含100亿行。

我的设置是一个带有MySQL存储引擎的InnoDB数据库。

我对一些项目很感兴趣,在这些项目中,这种大小的表会变得效率低、速度慢,同时也涉及索引。

我不喜欢让具有完全相同结构的多个表来拆分行的想法。的主要问题:但是,这难道不能解决由于这么多行导致性能下降的问题吗?

附加问题:我还能做些什么来处理这么大的桌子呢?行数本身不会减少。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-20 18:24:24

我听说过一些项目,在这些项目中,这种大小的表会变得效率低、速度慢,同时也涉及索引。

这并不典型。只要对表的使用方式进行了适当的索引,即使对于非常大的表,性能也应该是合理的。

(随着BTREE索引深度的增加,索引性能略有下降,但这种影响实际上可以忽略不计。此外,可以通过在索引中使用较小的键来缓解这种情况,因为这样可以最小化树的深度。)

在某些情况下,更合适的解决方案可能是分区您的表。这在内部将数据划分为多个表,但将其公开为一个表,可以正常查询。但是,分区对表的索引方式提出了一些特定的要求,并不能从本质上提高查询性能。通过从按日期分区的表中删除旧分区,同时允许从表中删除大量旧数据,这主要是有用的。

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

https://stackoverflow.com/questions/45220520

复制
相关文章

相似问题

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