浅谈数据库优化问题1

突然想起以前做的一套网站,因为第一次开发库表人员的设计,有一张表数据量达到了500w的数据量,而且在不断的增加,因为这种情况当时也是第一次见到,也没有什么经验可谈,就把索引建了一下,然后写了视图,这样查询的效率较之以前略有提升。当时也想把相关的表拆出来放到一个单独的数据库中,但是若在一个服务器上就算拆出来还是一张表,查询性能也不是很理想,当时也想到另一个方案,就是把这个表拆成不同的几张表,这样查询效率会高出一些(这个只是想法,没有付出实施);后来了解到数据库中有表分区(一开始也知道,就是只知道感念也没放到心上),发现解决这个问题还是数据库本身带的功能要好很多。

      对SQL Server数据表进行分区的过程分为三个步骤:

  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)

实际操作中,要为数据库新建文件组-(右键点击数据属性,找到文件组选项),然后要建文件并为它分配文件组和位置,附图1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值