知识大全 MS Sql Server数据库分区
Posted 知
篇首语:沉舟侧畔千帆进,病树前头万木春。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 MS Sql Server数据库分区相关的知识,希望对你有一定的参考价值。
MS Sql Server数据库分区 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
什么是数据库分区?
数据库分区是一种对表的横向分割 Sql server 企业版和之后的Sql server版本才提供这种技术 这种对表的横向分割不同于 中的表分割 它对访问用户是透明的 用户并不会感觉的表被横向分割了 ( 中的表横向分割是建n个表例如按时间建表每月一个表 表名不同 最后需要做一个大视图)
为什么要分区?
显而易见分区是为了提高数据库的读写性能 提高数据库的效率
分区是否总是可以提高效率?
分区是一把双刃剑 并不总能提高效率 这和具体情况有关系
之所以有分区技术 分区技术用的好的话可以提高性能 是因为一方面分区把一大块数据分成了n小块 这样查询的时候很快定位到某一小块上 在小块中寻址要快很多 另一方面CPU比磁盘IO快很多倍 而硬件上又有多个磁盘 或者是RAID(廉价磁盘冗余阵列) 可以让数据库驱动CPU同时去读写不同的磁盘 这样才有可能可以提高效率
分区在有些时候并不能提高读写效率 比如说我们经常看到的按照日期字段去分区MSDN例子 这个实例中是按照记录的生成时间来分区的 把一年的数据分割成 个分区 每月一个 这样的分区导致分区并不能实现CPU同步写并提高写入性能 因为在同一个时段CPU总是要写入到最新的那一个分区对应的磁盘中 另一个问题是 这样分区是否可以提高读取性能呢?答案是不一定 要看根据什么字段来查询 如果是根据时间来查询 根据时间生成报表那么这种分区肯定会提高查询的效率 但是如果是按照某个客户查询客户最近 年内的账单数据 这样数据分布到不同的分区上 这样的话效率就不一定能提高了 这要看数据在同一个分区上连续分布的读性能高 还是CPU从几个磁盘上同步读取 然后在合并数据的性能更高一些 这和读取数据的记录数也有关系
如何分区?用什么字段做分区依据?
具体如何分区和涉及的业务有关系 要看业务上最经常的写入和读取操作是什么 然后再考虑分区的策略
既然与具体业务相关 我们就假定一个业务环境 假如我们要做一个论坛 对论坛的帖子和回复表进行分区
论坛中最常见的写操作是 )发帖 )回复帖子 最常见的读操作是
) 根据帖子id显示帖子详情和分页的帖子回复 ) 根据帖子版面帖子列表页根据版面id分页读取帖子列表数据
怎么分区更合适呢?现在还没有准确答案 我有两种可能的方案 写下来 大家讨论看看
方案 根据帖子ID区域段分区( w一个分区 w w一个分区…) 这样理论上可以提高帖子详细页的读取速度 而对于写操作性能没有益处 对于根据版面id读取帖子列表页有可能有益
方案 根据版面id进行分区 这样对于写性能应该有提高 不同的分区对应不同的版面 当有两个版面同时有发帖回帖操作时 有可能可以并发写 对于根据版面id获得帖子列表页数据也可以提高性能 而对于帖子详细信息页没有性能影响
多大的数据量才需要分区?
cha138/Article/program/SQLServer/201311/22473相关参考
知识大全 MS Access 数据库向 MS SQL Server 7.0 的迁移
MSAccess数据库向MSSQLServer7.0的迁移 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一
MSSQLServer数据库事务锁机制分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 锁是网
知识大全 Oracle 数据库向 MS SQL Server 7.0 的迁移(1)
Oracle数据库向MSSQLServer7.0的迁移(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
知识大全 Oracle 数据库向 MS SQL Server 7.0 的迁移(4)
Oracle数据库向MSSQLServer7.0的迁移(4) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
知识大全 在SQL Server 2000数据仓库中使用分区
在SQLServer2000数据仓库中使用分区 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 摘
知识大全 MS SQL基础教程 SQL Server 2000 简介
MSSQL基础教程SQLServer2000简介 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n
MSSQLServer和MySQL区别 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! MySQL
用Java连接MSSQLServer 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 使用jdbc
Jboss下MSSQLServer配置指导 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本文提
MSSQLServer7.0性能优化指南 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 摘要为数