03 2011 档案
摘要:为什么要进行分区?什么是分区?为什么要使用分区?简单的回答是:为了改善大型表以及具有各种访问模式的表的可伸缩性和可管理性。通常,创建表是为了存储某种实体(例如客户或销售)的信息,并且每个表只具有描述该实体的属性。一个表对应一个实体是最容易设计和理解的,因此不需要优化这种表的性能、可伸缩性和可管理性,尤其是在表变大的情况下。 大型表是由什么构成的呢?超大型数据库 (VLDB) 的大小以数百 GB 计算,甚至以 TB 计算,但这个术语不一定能够反映数据库中各个表的大小。大型数据库是指无法按照预期方式运行的数据库,或者运行成本或维护成本超出预定维护要求或预算要求的数据库。这些要求也适用于表;如果其他
阅读全文
摘要:正如上一篇文章SqlServer性能优化——Partition(创建分区)中所述,分区并不是一个一劳永逸的操作,对一张表做好分区仅仅是开始,接下来可能需要频繁的变更分区,管理分区。在企业管理器中,虽然有“管理分区”的菜单,里面的内容却可能与你的预想不同,这里并没有提供直接对分区进行操作的方法,所以一些普通的操作,比如“增加分区”、“删除分区”之类的操作就需要通过脚本实现了。增加分区(Split Partition)“增加分区”事实上就是将现有的分区分割开,基于此,在SQL Server中应用的是Split操作。在分离分区的时候,不仅仅要在Partition Function上指定分割的分界点,
阅读全文
摘要:虽然对数据库进行分区本身就能提高查询的性能,结合压缩,也能减少每次查询的IO。但如果数据持续增长,过于久远的历史数据就成了一个包袱,它们从来不在查询结果中出现,却或多或少的影响着每次查询的时间,成了一个挥之不去的阴影。此外,由于一个分区表的分区是有上限的(在2005中这一上限是1000),我们也并不能在一张表上一直分区下去。所以在这种情况下,我们一般需要同时拥有两张表,一张保存了最近的数据,用来应付所有的查询,这张表要足够精简,在其上的查询要足够敏捷;同时有另一张表,保存所有过时的数据——我们并不能把过时的数据一删了事。这里面的关键问题是,既然数据是随着时间持续增长的,那么当下有用的数据可能在
阅读全文
摘要:和压缩(Compression)相比,数据库分区(Partition)的操作更为复杂繁琐。而且与Compression一次操作,终身保持不同,分区是一项需要长期维护周期变更的操作。分区的意义在于将大数据从物理上切割为几个相互独立的小部分,从而在查询时只取出其中一个或几个分区,减少影响的数据;另外对于置于不同文件组的分区,并行查询的性能也要高于对整个表的查询性能。事实上,在SQL Server 2005中就已经包含了分区功能,甚至在2005之前,还存在一个叫做“Partitioned Views”的功能,能通过将同样结构的表Union在一个View中,实现类似现在分区表的效果。而在SQL Ser
阅读全文
摘要:该方案产生于2005年,当时我接手了某产业库的设计.我们在开发这个产品时,在数据库中引入了100万条记录作为开发版数据库.开发过程非常顺利,前台程序的测试速度也非常好.但我们在后来将当前的5亿条数据库追加到开发库进行测试时,发现无论什么情况,都无法从数据库中取出记录,发现在读取数据库时,磁盘灯一直在亮,而性能性能监视器里的CPU使用率很底.此时的SQLSERVER服务器会呈的假死状态. 后来我想我们的数据库为优化而预留的空间被填满后,数据会被追加到数据库文件的最后页.会不会是因为这个原因,导至了磁盘的磁头寻道,读取的效率下降?而造成了一个高I/O的假象?基于这个想法,我再次到查询分析器中运行了
阅读全文
摘要:以下是SQL 日期截取 & SQL Server日期比较日期查询常用语句select CONVERT(varchar, getdate(), 120 )2004-09-12 11:06:08select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')20040912110608select COUNVRT(varchar(12) , getdate(), 23 )2008-04
阅读全文
摘要:超大型数据库的大小常常达到数百GB,有时甚至要用TB来计算。而单表的数据量往往会达到上亿的记录,并且记录数会随着时间而增长。这不但影响着数据库的运行效率,也增大数据库的维护难度。除了表的数据量外,对表不同的访问模式也可能会影响性能和可用性。这些问题都可以通过对大表进行合理分区得到很大的改善。当表和索引变得非常大时,分区可以将数据分为更小、更容易管理的部分来提高系统的运行效率。如果系统有多个CPU或是多个磁盘子系统,可以通过并行操作获得更好的性能。所以对大表进行分区是处理海量数据的一种十分高效的方法。本文通过一个具体实例,介绍如何创建和修改分区表,以及如何查看分区表。1 SQL Server .
阅读全文
摘要:SQL Server 2008复制分区SWITCH清理数据,希望通过本文能让大家对于复制分区提高效率有所了解。场景:某种特定业务下,我们的部分业务数据可能只会保留比较短的时间,用来做临时处理。因为考虑高可用的特性,可能会利用 SQL Server的复制组件复制这种数据到另外的 类似前端,查询中心等数据库服务器,创建一个冗余副本。复制组件标记事务日志,追踪所有的Update,Insert,Delete操作。可是如果不定期清理这种表,那么在一个快速增长的环境下,表变的臃肿不堪,不仅仅浪费磁盘空间,而且给性能带来了负面影响。如:A临时数据中心 ---同步-->B 查询/其他业务中心,副本保证A
阅读全文
摘要:--判断数据库是否存在 IF EXISTS (SELECT * FROM MASTER..sysdatabases WHERE NAME = '库名') PRINT 'exists ' else PRINT 'not exists' -- 判断要创建的表名是否存在 IF EXISTS (Select * From sysObjects Where Name ='表名' And Type In ('S','U'))PRINT 'exists'ELSEPRINT 'not exi
阅读全文
摘要:今年年初,中国电子商务研究中心携手工业与信息化部电子情报研究所发布了2010年《中国企业信息化指数调研报告》。报告显示:中国企业信息化指数为48.06,与2009年相比,提高了7.6。中国企业整体信息化成熟度已经基本达到中等水平。伴随着各类前瞻性技术在企业应用的逐步深入,据预测,2011年,中国企业将会加速迈入信息技术全面应用时代,而中国管理软件行业发展将会呈现以下四大趋势。 云计算的应用开始出现实质性突破 在最近几年我们目睹了国际IT厂商争相投入云计算的浪潮,我认为在2011年云计算在管理信息化领域将出现应用的实质性突破。这样说有两个理由。首先,国内IT领导厂商,如用友、华为、联想等在20.
阅读全文
摘要:目前,越来越多的中小企业已经意识到信息化的重要性和迫切性,注重自身信息化的发展,中小企业逐渐呈现出对管理软件旺盛的需求态势,很多厂商发布了专门针对中小企业的BI套件,而且很多国内的BI厂商推出了廉价的BI产品,中小企业在实施ERP、CRM产品后,必将应用BI。由此可见,中小企业市场是BI应用非常重要的组成部分。
阅读全文
摘要:国内知名BI厂商用友华表发布了BQ商业智能平台移动版,此产品可以支持用户通过移动设备无线访问企业的数据中心。 2月24日,国内知名BI厂商用友华表发布了BQ商业智能平台移动版,此产品可以支持用户通过移动设备无线访问企业的数据中心。此产品有两个看点,并且代表了商业智能的两个发展走向:一是基于移动互联网的应用,符合当下企业高层的使用习惯,也提高了企业决策的能力;二是采用了云+端(C/C)结构进行开发,增强了数据处理能力,也满足了企业未来云计算的应用需求。 首先,随着移动互联网的的爆炸式增长与智能手机市场井喷,不仅令移动BI应用成为可能,而且将推动BI应用的高速发展,成为BI领域的重要发展方式。根.
阅读全文
摘要:商业智能目前已经转变为企业的一个关键系统,企业并通过它来驱动整个企业进一步增长。
阅读全文