mysql和mariadb数据库的存储和查询效率?

oxalkeyp  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(369)

我对在非常大的数据库中查询很陌生。我想知道将一个非常大的数据表分成几个分区是否提高或降低了存储效率和查询速度。例如,如果我有一个非常大的数据表,其中包含价值一年的信息,有3亿行和近30列,那么最好将其拆分为12个月,还是将其保留?它将提高效率或存储,或没有?

fcwjkofz

fcwjkofz1#

简而言之:没有。磁盘空间会稍微大一点;业绩不太可能好转。
长话短说:
每个分区本质上是一个单独的表;每个表都有一些预先分配的空间。每个分区有4-7mb的“空闲”空间。
分区本身不会带来任何性能提升(在某些情况下,它会稍微减速。)
也就是说,我知道有4个用例,如果仔细地进行分区,可以显著地提高速度。你什么也没说你的案子就是这样的。最常见的是“时间序列”,其中需要删除“旧”数据。好处来自 DROP PARTITION 几乎是瞬间的,相对于 DELETE .
请描述您的数据情况—数据类型、模式和重要查询。如果它是一个数据仓库应用程序,那么“时间序列”可能是有用的。更有可能是汇总表;它们通常可以用来大大加快“报告”的速度,而不是冗长的报告 GROUP BYs .

相关问题