我从来没有划分过一个表,但是从我所读到的资料来看,它在查询和归档数据方面有很多优势。
它比创建索引更好吗?有什么缺点吗?用于分区的时间是唯一的成本吗?
发布于 2018-02-27 19:14:17
背景:
如果大多数操作发生在内存中,则数据库查询的延迟将很低。数据库会尽最大努力自动完成这一任务。它们还提供调优选项,以确保缓冲区缓存/缓冲池和其他选项可以正确设置。
为什么要划分表?
随着我们不断向表中添加行,主键索引和表上任何其他索引的大小也会增加。一旦它们增长到整个索引不适合配置的缓冲区大小(存储频繁访问的页面的位置),数据库引擎将不得不从磁盘中获取索引页,从而减缓查询的速度。
它不优于或低于指标,这是一种不同的技术。
在进入分区路由之前,
分区的优点
Disadvantages
发布于 2018-02-27 21:24:42
对表进行分区有两个原因--如果表非常大,或者需要快速添加或删除数据片段。
在不同的大型审计表上,您可能会发现将表划分为每月分区是有用的。这样,当您搜索给定月份的行时,Server只需查看与该月份关联的分区。在执行选择时,可以将分区视为典型的表--不需要特殊的语法。
如果在一个新的月份开始时,您可能想要删除最老的一个月的数据并添加最新的月份,那么删除一个分区并添加一个分区是一个简单的操作。Server不需要重新构建整个表上的索引-它只是在内部删除和添加分区作为元操作,通常需要几秒钟。
这样做的SQL并不难,您可以安排备份各个分区。但是,Server中的分区仅在企业版上可用,并且已分区表不能还原到其他版本的Server。
https://stackoverflow.com/questions/49013911
复制相似问题