突然想起以前做的一套网站,因为第一次开发库表人员的设计,有一张表数据量达到了500w的数据量,而且在不断的增加,因为这种情况当时也是第一次见到,也没有什么经验可谈,就把索引建了一下,然后写了视图,这样查询的效率较之以前略有提升。当时也想把相关的表拆出来放到一个单独的数据库中,但是若在一个服务器上就算拆出来还是一张表,查询性能也不是很理想,当时也想到另一个方案,就是把这个表拆成不同的几张表,这样查询效率会高出一些(这个只是想法,没有付出实施);后来了解到数据库中有表分区(一开始也知道,就是只知道感念也没放到心上),发现解决这个问题还是数据库本身带的功能要好很多。
1)建立分区函数
2)建立分区方案
3)对表格进行分区
第一个步骤:建立分区函数
CREATE PARTITION FUNCTION customer_partfunc (int)
AS RANGE RIGHT
FOR VALUES (250000, 500000, 750000)
第二个步骤:建立分区方案
CREATE PARTITION SCHEME customer_partscheme
AS PARTITION customer_partfunc
TO (fg1, fg2, fg3, fg4)
第三个步骤:对表格进行分区
CREATE TABLE customers (FirstName nvarchar(40), LastName nvarchar(40), CustomerNumber int)
ON customer_partscheme (CustomerNumber)