数据库设计时,要防止一再的数据库操作,特别是在一次央求中一再的数据库操作,按照文 件系统的观念,即是一再的履行IO 操作,这样功率必然会很低。在Eway 工作流平台中,计算用户可以操作的节目,运用的方法是:先获取由用户有关的全部权限主体(用户、有些、 岗位),然后循环权限主体,关于每个权限主体去数据查找有关的节目,可以预见的到,每次 循环都会进行数据库的操作,频繁对数据库操作,不只加大了数据库的压力,同时下降运 行效率。在给定的系统硬件和系统软件条件下,如何提高数据库运行效率呢?
具体方法为:
(1) 在数据库物理设计时,降低范式,增加冗余, 少用触发器, 多用存储过程。
(2) 当计算非常复杂、而且记录条数非常巨大时(例如一千万条),复杂计算要先在数据库外面,以文件系统方式用C++语言计算处理完成之后,最后才入库追加到表中去。这是电信计费系统设计的经验。
(3) 对数据库管理系统DBMS进行系统优化,即优化各种系统参数,如缓冲区个数 。
(4) 在使用面向数据的SQL语言进行程序设计时,尽量采取优化算法。
(5) 发现某个表的记录太多,例如超过一千万条,则要对该表进行水平分割。水平分割的做法是,以该表主键PK的某个值为界线,将该表的记录水平分割为两个表。若发现某个表的字段太多,例如超过八十个,则垂直分割该表,将原来的一个表分解为两个表。
总之,要提高数据库的运行效率,必须从数据库系统级优化、数据库设计级优化、程序实现级优化这三个层次上同时下功夫。当然我们一品威客也为广大企业、商家、个人,提供老照片修复(http://www.epweike.com/zhaopian/fanxin/gonglue/)、多媒体设计、会员卡设计等服务。只要能通过网络解决的任务,都可以通过一品威客大学 (http://www.epweike.com/meijie/)来完成。