MYSQL网站制作之SQL Server 2005中处置表分区成绩
对于IT经理来说,令他们喜欢的MySQL的简单性还有另一方面。MySQL可以运行的更快速。某些人或许会说MySQL缺少了一些人们想要的功能。 本文先容了表分区的观点和SQLServer2005撑持表分区,同意一切的表分区都保留在统一台服务器上。每个表分区都和在某个文件组(filegroup)中的单个文件联系关系。一样的一个文件/文件组能够包容多个分区表。同时,还经由过程一个复杂的例子来懂得表分区是怎样发扬感化的。数据库功能调优是每个优异SQLServer办理员终极的义务。固然包管数据的平安和可用性是我们的最高的方针,可是假设数据库使用程序没法满意用户的请求,那末DBA们会由于功能低下的计划和完成而遭到求全谴责。SQLServer2005在数据库功能方面失掉了良多进步,特别是表分区的手艺。假如你还没不懂得表分区的特性,那末请你花点工夫读这篇文章。
表分区的观点不是一个新的观点;只需你当过一段工夫的SQLServerDBA,那末你大概已对一些频仍会见的表举行过回档,当这个表中的汗青数据变的不再常常被会见的时分。好比,假定你有一个打印工夫报表的使用,你的呈报很少会查询1995年的数据,由于尽年夜部分的预算计划会基于比来几年的数据。
在SQLServer的初期版本中,你能够创立多个表。每个表都具有不异的列布局,用来保留分歧年份的数据。如许,当存在着对汗青数据会见的需要的时分,你能够创立一个视图来对这些表举行查询处置。将数据保留在多个表中是很便利的,由于相对查询时扫描全部年夜表,扫描小表会更快。可是这类优点只要在你事后晓得哪些工夫段的数据会被会见。同时,一旦数据过时,你还必要创立新表而且转移新发生的汗青数据。
SQLServer7和SQLServer2000撑持散布式分区视图(distributedpartitionedviews,又称为物化视图,materializedviews)。散布式分区视图由散布于多台服务器上的、具有不异表布局的表组成,并且你还必要为每个服务器增添链接服务器界说(linkedserverdefinitions),最初在个中一台服务器上创立一个视图将每台服务器上前往的数据兼并起来。这里的计划头脑是数据库引擎能够使用多台服务器的处置才能来满意查询。
你不用花费很多时间和金钱来培训现有的职工,或者去花大价钱雇用那些拥有各种证书的开发者。因为MySQL的维护和管理在很大程度上是“傻瓜型”的。 光写几个SQL实在叫无知。 始终遗憾SQLServer的登陆无法分配CPU/内存占用等指标数。如果你的SQLServer给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。 再开发调试阶段和OLAP环境中,外键是可以建立的。新版本中加入了SETNULL和SETDEFAULT属性,能够提供能好的级联设置。 数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。 原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。 两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书
页:
[1]