项目失败与数据库

1。SQL语句对系统的影响非常大,可以会因为一条sql语句而对项目造成巨大的影响。——例如使用statement而非preparestatement插入大数据量。

数据库项目失败原因:

      1、常常是因为对数据库认识的不足。如前期使用Hibernate经常会发生效率问题。将开发人员与数据库进行了分隔。
       2、要对数据库的原理有充分的认识(如:表以及索引的设计)
    例如:如选择char或varchar字段!(时间和空间)   索引有很多种……
       3、项目往往是与数据库“耦合”的。无法做到同一条sql语句在所有的数据库中都能够运行良好。(数据库存在方言:1、日期函数、2转换函数、3、分页 4、锁机制…)
       4、数据量比较大的容易产生性能问题。
       6、由于业务上的原因,会产生很多“垃圾”数据,这些数据经常也会影响到一个系统的正常运行。

 

 

数据库开发注意事项
1、在OLTP(在线事务处理,以增删改查为主的业务系统)中要使用绑定变量,在JDBC中要使用预编译SQL。
2、在公司,禁止在jdbc中使用默认的AutoCommit
3、如果是大数据量导入,要使用Oracle的专门的工具(如sqlloader)
4、尽量使用一个sql处理
5、尽量用数据库约束来完成数据较验。如果需要提示业务异常,可以考虑使用触发器
6、在OLTP中尽量避免大事务(类似于全表操作)
7、尽量避免分表设计
8、不要在选择率不高的字段上建索引
9、多条件查询(where deptno=? and empno=? and sal=?),要与索引的顺序(create index indx_all on emp(deptno,empno,sal))保持一致
10、小表上不用建索引
11、计算列使用不了索引——select * from emp where upper(ename)=?则 create index index_ename on emp(ename) 用不到
12、避免索引字值数据类型转换
13、不要在子查询中执行order by
14、尽快commit或rollback,可以减少锁定。——update emp set sal=1000 where empno=1000;==select * from emp where empno=1000 for update;
15、清空表用truncate命令。
16、正确使用数据库的连接——当sql执行失败时,也要保证关闭连接;不要频繁的连接和关闭数据库,除非使用了连接池;一定要使用连接池

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值