数据库使用一些注意事项

查询条件不要有计算,如colA/5=colB,

查询条件操作符两边的字段使用相同的数据类型,不要让数据库默默的转换数据类型消耗资源与时间;

查询条件中,尽量不要使用函数

自定义函数也尽量少用

union尽量少用,union后的结果没有索引

查询条件中,尽量不写“不等于”判断

GroupBy、OrderBy、Distinct尽量使用索引字段

频繁的查询条件最好建立索引

查询条件关联字段最好建立索引

尽量不用子查询

如果字段会出现在查询条件中,这样的字段最好给出不是null的默认值

一个表不要太多字段

表中较大字段且不常读的字段,建议拆分到字表

给表字段长度选择适合的大小,既满足需求,又不浪费存储和提高效率

-------MySQL优化

1、如果是MySQL,使用合理的数据库引擎,innodb支持事务,myisam速度慢,但是数据变化时是整表锁

2、如果使用MyBatis+MySQL,进行批量数据insert和delete,

一次插入批量插入记录时,可以扩展一条insert写入多条记录,但是一次写入数也不能太多;

删除也要分批次删除,比如delete from tableA where col=0 limit 1000;

 

如果是大量数据的写入和删除,要分批操作,比如一次1000条,每批次操作提交之后,要休息一段时间,比如5秒钟,让数据库喘口气。

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值