loading请求处理中...

数据库设计如何提高运行效率?

2021-12-01 07:07:21 阅读 13600次 标签: 数据库设计 作者: riche

数据库设计如何提高运行效率?

    数据库程序设计时,要防止一再的数据库操作,特别是在一次央求中一再的数据库操作,按照文 件系统的观念,即是一再的履行IO 操作,这样功率必然会很低。在Eway 工作流平台中,计算用户可以操作的节目,运用的方法是:先获取由用户有关的全部权限主体(用户、有些、 岗位),然后循环权限主体,关于每个权限主体去数据查找有关的节目,可以预见的到,每次 循环都会进行数据库的操作,频繁对数据库操作,不只加大了数据库的压力,同时下降运 行效率。在给定的系统硬件和系统软件条件下,如何提高数据库运行效率呢?

 


 

    对于这种情况,问题的关键是如何减少数据库操作次数,即减少IO 的次数,有两种 方式:

    一,一次性的把权限主体和栏目都加载到内存中,只执行两次数据库操作,得到两个 结果集后,再进行计算。

    二,在数据库端,书写试图、存储过程一次性把结果集返回,这种 方式效率极高,但是书写SQL 的能力要求高。

    另外为了提高开发效率把把SQL 模块化,写成 试图,以增强SQL 的复用能力。 页面展现慢 页面静态化,把好不容易计算出来的结果持久化在静态页面中。具体方法为:

   (1) 在数据库物理设计时,降低范式,增加冗余, 少用触发器, 多用存储过程。

   (2) 当计算非常复杂、而且记录条数非常巨大时(例如一千万条),复杂计算要先在数据库外面,以文件系统方式用C++语言计算处理完成之后,最后才入库追加到表中去。这是电信计费系统设计的经验。  

   (3) 对数据库管理系统DBMS进行系统优化,即优化各种系统参数,如缓冲区个数

   (4) 在使用面向数据的SQL语言进行程序设计时,尽量采取优化算法。

     (5) 发现某个表的记录太多,例如超过一千万条,则要对该表进行水平分割。水平分割的做法是,以该表主键PK的某个值为界线,将该表的记录水平分割为两个表。若发现某个表的字段太多,例如超过八十个,则垂直分割该表,将原来的一个表分解为两个表。

  总之,要提高数据库的运行效率,必须从数据库系统级优化、数据库设计级优化、程序实现级优化这三个层次上同时下功夫。

 

数据库设计公司推荐

成为一品威客服务商,百万订单等您来有奖注册中

留言( 展开评论

快速发任务

价格是多少?怎样找到合适的人才?

官方顾问免费为您解答

 
数据库设计相关任务
DESIGN TASK 更多
为APP设计一款logo

¥1200 已有168人投标

车辆服务公司logo设计

¥1600 已有120人投标

软件开发UI设计

¥3000 已有0人投标

园区外墙效果图设计

¥1600 已有0人投标

车衣的外观设计

¥1000 已有0人投标

糕点品牌包装设计

¥1000 已有7人投标

湖南米粉门店形象设计

¥2000 已有4人投标