SQL Server On Linux(21)—— SQL Server On Linux性能(7)——性能进阶简介——分区(1)
本人新书上市,请多多关照: 《SQL Server On Linux运维实战 2017版从入门到精通》 本篇开始专门对性能进行一系列讲解,这一系列不限于Linux平台,更多的是针对SQL Server本身。 SQL Server性能新特性 SQL Server发展至今,为了不断提升性能,引入了不少最新技术。它们主要以分区表/索引,In-Memory OLTP 和列存储索引这三类核心技术为主。虽然这些技术有各自的使用场景,但是都具有一个共同的目标:针对关键系统大幅度提高性能。这些功能不仅仅是提升性能,而且还是大幅度提升! 接下来会简单介绍这三种技术,有机会的话再细说具体技术。由于工作需要,首先从分区表和分区索引入手。 分区表和分区索引 这个严格意义来说不能称为“新技术“,因为从SQL Server 2005开始就有了。而且业界很多数据库产品都有分区功能。分区的出现源自于大量关系数据的出现。当一个表存储了亿级(请更新你对几百万行数据就成为“大表“的叫法),增删改查的性能将明显下降,其维护成本(比如备份/重建索引/更新统计信息等等)都会变得非常大。 因此,业界通常会对表进行拆分操作。拆分通常有***垂直拆分***和***横向拆分***, 垂直拆分大概就是把一个有很多列的表,按照业务逻辑,拆成多个行数相等但是列数更少的表。这种拆分***并不减少数据行数***