数据库开发(21)高级应用开发

1、性能调整包括发现和消除瓶颈,以及添加适当的硬件,如内存或硬盘。

基准是一些任务的标准化集合,他们有助于刻画数据库系统的性能特征。

测试要求生成数据库状态和测试输入,并验证输出是否匹配预期的输出。

2、批量更新:允许使用单次数据库通信来执行多个插入操作。

嵌套子查询:如果一个子查询没有被去除相关性,它会被重复的执行,这可能导致大量的随机I/O。

批量导入:从文件读取数据,以一种非常高效的方式执行完整性约束检查以及索引维护。批量导入/导出功能也支持数据库特定的二进制格式以及XML格式。

3、在一个性能均衡的系统中,任何单个的部件都不会称为瓶颈。一个事务向数据库系统请求各种服务,从进入一个服务器进程开始,在执行过程中需要读磁盘,需要CPU周期,以及并发控制所需要的锁。数据库系统中请求的到达从不是均匀的,而总是随机的。

4、可调参数:

1)最低级别是在硬件层上。这一级上调整选项包括:如果磁盘I/O是瓶颈,则增加磁盘或使用RAID系统;如果磁盘缓冲容量是瓶颈,则增加更多内存;如果CPU使用是瓶颈,则改用更快的处理器。

2)第二个级别由数据库系统参数组成,比如缓冲区大小和检查点间隔。

3)第三级别是最高级别,它包括模式和事务。

5、硬件调整:

调整事务处理系统的一个重要因素就是确保磁盘子系统能够处理I/O操作锁需要的速率。限制因素并不是磁盘容量,而是能够随机进行数据访问的速度。把经常使用的数据放在内存中以减少磁盘I/O次数而增加的额外的内存开销是值得的。

5分钟规则:如果一页在5分钟里被使用的次数多于一次,它就应该被存储在内存中。

对于顺序访问的数据,每秒可能会读取非常多的页。

6、索引调整:如果经常使用范围查询,那么B树索引比散列索引更合适。

7、在立即视图维护的情况下,如果一个事务的更新操作影响到物化视图,那么这个物化视图必须作为该事务的一部分进行更新,因此事务的运行会变慢。在延迟视图维护的情况下,物化视图会在以后更新。在物化视图更新前,物化视图可能会与数据库关系不一致。

8、应用系统测试:

程序测试包括设计一个测试集,即一个测试用例的集合。测试不是一次性的过程。回归测试包括把程序运行在测试集中的每个测试用例上,并检查程序是否产生预期的测试输出。

一个测试用例由两部分组成:数据库状态,以及一个应用程序特定接口的输入。

SQL查询可能有难以捕获的细微错误。在一个预期查询和该查询的突变上产生不同输出的测试用例,称为消灭突变。一个测试集应该有能消灭(大多数)经常发生的突变的测试用例。

如果一个测试用例执行对数据库的更新,为了检查它是否正确执行,必须验证数据库的内容与预期内容相匹配。因此,预期的输出不仅包括显示在用户屏幕上的数据,而且包括数据库状态(的更新)。

由于数据库状态可能相当大,多个测试用例可能共享同一个数据库状态。

对于性能测试,测试数据库必须和真实数据库一样大。

9、逆向过程包括检查遗产系统代码,提出所需数据模型中的设计模式。还要检查代码找出实现的程序和过程,以得到系统的高层模型。

10、ODBC允许一个客户端同时链接到多个数据源,并在这些数据源之间进行切换,但各个数据源上的事务是独立的,ODBC不支持两阶段提交。













  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值