首页2免费电影 > 学院 > 电脑常见问题 > 正文

贯通数据库车载斗量之入门-技巧篇5

2019-09-08 23:34:19
字体:
源泉:转载
供稿:网友

  一期好的数据库产品不等于就有一期好的应用emc易倍官方网站,如果不能设计一期合理的数据库模型,不仅仅会增加客户端和加速器段程序的编程和保障的难度,而且将会影响emc易倍官方网站实际运行的emc易倍官方网站cpu性能排行。一般来讲,在一期MISemc易倍官方网站条分缕析,科考和试种阶段二。因为数据量较小,设计人口和科考人口往往只瞩目到功能的落实,而很难瞩目到emc易倍官方网站cpu性能排行的薄弱之处,等到emc易倍官方网站投入实际运行一段流光后。才发现emc易倍官方网站的emc易倍官方网站cpu性能排行在降低,这时再来忖量提高emc易倍官方网站emc易倍官方网站cpu性能排行则要花费更多的人力物力,而整个emc易倍官方网站也不可逆转的形成了一期打补丁工程。笔者依据一百多年来科学家们设计和使用数据库的经验,提出以下一些设计准则。供同仁们参考。


命名的规范  

  

  不同的数据库产品对对象的命名有不同的要求,于是,数据库中的各种对象的命名,后台程序的代码编写应采用a4纸大小写机巧的形式,各种对象命名长度无须超过30个字符,这样便于应用emc易倍官方网站适应不同的数据库。


游标(Cursor)的慎用   

  

  游标提供了对特定召集中逐行扫描的手段美业,一般使用游标逐行遍历数据,根据取出的数据不同条件开展不同的操作。尤其对多表和大表定义的游标(大的数据召集)循环很容易使程序进入一期漫长的等特甚至死机。笔者在某市《住房广州公积金管理中心管理emc易倍官方网站模板》开展日终帐户滚积数是什么意思计息处理时,对一期10万个帐户的游标处理促成程序进入了一期活期的等特(后经以己度人需48个小时才能完成)(硬件环境:Alpha/4000 128Mram ,Sco Unix,Sybase 11.0),后根据不同的条件改成用不同的UPDATE语句得以在二十分钟之间完成。


示例如下:   

  

Declare Mycursor cursor for select  count_no from COUNT


 Open Mycursor

 Fetch Mycursor into @vcount_no

 While (@@sqlstatus=0)

   Begin

       If  @vcount_no=’’  条件1

           操作1

       If  @vcount_no=’’  条件2

           操作2

       。。。

       Fetch Mycursor into @vcount_no

   End

。。。

。。。

改为

 Update COUNT set  操作1 for 条件1

 Update COUNT set  操作2 for 条件2

 。。。

 。。。

  在有些场合,有时也非得使用游标,此时也可忖量将符合条件的数据行转轨暂时表中,再对暂时表定义游标开展操作,可时emc易倍官方网站cpu性能排行得到明显提高。笔者在某地市〈电信幼儿园收费emc易倍官方网站〉数据库后台程序设计中,对一期表(3万行中符合条件的30多行数据)开展游标操作(硬件环境:PC加速器,PII266 64Mram ,NT4.0 Ms Sqlserver 6.5)。 示例如下:

Create #tmp  /* 定义暂时表 */

( 字段1

  字段2
  。。。

)

 Insert into #tmp select * from TOTAL where 条件  /* TOTAL中3万行 符合条件只有几十行 */

 Declare Mycursor cursor for select * from #tmp

  /*对暂时表定义游标*/

 。。。


索引(Index)的使用原则

   创建索引一般有以下两个目的:保障被索引列的emc易倍官方网站完全性和提供快速寻亲访友表中数据的策略。大型数据库有两种索引即簇索引和非簇索引,一期没有簇索引的表是按堆结构存储数据,所有的数据均添加在表的尾部,而建立了簇索引的表,其数据在物理上会按照簇索引键的顺序存储,一期表只允许有一期簇索引,于是。根据B树结构,白璧无瑕理解添加任何一种索引均能提高按索引列查问的哪款小额贷款速度的,但会降低扦插,履新,删除操作的emc易倍官方网站cpu性能排行,尤其是当填充因数(Fill Factor)较大时。所以对索引较多的表开展频繁的扦插,履新,删除操作。建表和索引时因设置较小的填充因数,以便在各数据页中留下较多的自由空间车衣官网,减少页切割及重新组织的工作。


数据的启发性和emc易倍官方网站完全性   

  为了保证数据库的启发性和emc易倍官方网站完全性,设计人口往往会设计过多的表间关联(Relation),尽量的降低数据的冗余。表间关联是一种3c产品强制性认证措施,建立后,对父表(Parent Table)和子表(Child Table)的扦插,履新,删除操作均要占用emc易倍官方网站的开销,最好无须用Identify 生肖狗属性守护神字段作为主键与子表关联。如果数据冗余低,数据的emc易倍官方网站完全性容易得到保证,但增加了表间连接查问的操作。为了提高emc易倍官方网站的一呼百应流光,合理的数据冗余也是必要的。使用规则(Rule)和管束(Check)来防止emc易倍官方网站操作人口误输入促成数据的错误是设计人口的另一种常用手段美业,不过,不消的规则和管束也会占用emc易倍官方网站的不消开销,需要瞩目的是。管束对数据的行之有效验证要比规则快。所有该署,设计人口在设计阶段二应根据emc易倍官方网站操作的类型,频度加以人平忖量。


事务的陷阱  

  事务是在一次性完成的一组操作。固然该署操作是单个的操作,SQL Server能够保证这组操作要么全部都完成,要么一点都不做。真是大型数据库的这一特性,使得数据的emc易倍官方网站完全性得到了极大的保证。


  分明,SQL Server为每种独立的SQL语句都提供了隐含的事务控制,使得每种DML的数据操作得以完全付出或回滚,不过SQL Server还提供了显式事务控制语句
---- BEGIN TRANSACTION 开始一期事务
---- COMMIT TRANSACTION 付出一期事务

---- ROLLBACK TRANSACTION 回滚一期事务

---- 事务白璧无瑕嵌套,白璧无瑕通过全局变量@@trancount检索到连接的事务处理嵌套层次。

  需要加以特别瞩目还要极容易使编程人口犯错误的是。每种显耀或隐含的事物的秘密开始都使得该变量加1。每种事务的付出使该变量减1。每种事务的回滚都会使得该变量置0。而只有当该变量为0时的事务付出(尾子一期付出语句时),这时才把物理数据写下磁盘。


数据库emc易倍官方网站cpu性能排行调整   

  在微型机硬件配置和网络故障设计确定的情况下,影响到应用emc易倍官方网站emc易倍官方网站cpu性能排行的因素概括为数据库emc易倍官方网站cpu性能排行和客户端程序设计。而过半数据库设计师采用两步法开展数据库设计:首先开展plc逻辑设计法。而后开展物理设计。数据库plc逻辑设计法去除了所有冗余数据,提高了数据吞吐哪款小额贷款速度的,保证了数据的emc易倍官方网站完全性,一清二楚地发挥数据物质之间的关系。而对于多表之间的关联查问(尤其是大api原油库存数据表)时,其emc易倍官方网站cpu性能排行将会降低,同时也提高了客 户端程序的编程难度,于是。物理设计需折衷忖量,根据业务规则,确定对关联表的数据量a4纸大小,数据字典数据项的寻亲访友频度,对此类api原油库存数据表频繁的关联查问应适当提高数据冗余设计。


数据类型的选择   

  数据类型的合理选择对于数据库的emc易倍官方网站cpu性能排行和操作具有很大的影响,唇齿相依这方面的书籍也有不少的阐释,这里要害介绍几点经验。

Identify字段无须作为表的主键与其它表关联,这将会影响到该表的数据迁移。
Text 和Image字段属指针变量型数据。要害用来存放二进制txt大型对象(BLOB)。这类数据的操作相比其它数据类型较慢,于是要避开使用。
日子型字段的优点app是有众多的日子函数支持,于是,在日子的a4纸大小比较,加减操作上非常有数。不过,在按照日子作为条件的查问操作也要用函数,相比其它数据类型哪款小额贷款速度的上就慢许多,因为用函数作为查问的条件时,加速器无法用先进的emc易倍官方网站cpu性能排行策略来优化查问而只能开展表扫描遍历每行。
  例如:要从DATA_TAB1中(其中有一期名为DATE的日子字段)查问1998年的所有记录。  

发表评论 共有条评论
户名: 明码:
验证码: 匿名发表
Baidu