首页 > 数据库技术 > 详细

3.21 数据库优化

时间:2020-09-28 23:29:37      阅读:42      评论:0      收藏:0      [点我收藏+]

参考资料:oracle数据库优化:https://blog.csdn.net/weixin_39106371/article/details/82117148

详细的SQL优化方案:https://blog.csdn.net/jianzhang11/article/details/102867120?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param

 

 

1.SQL优化
1.索引会大大增加表记录的DML(INSERT,UPDATE,DELETE)开销(BTREE原理(平衡索引字典查询)) 索引,建立索引是数据库优化各种方案之中成本最低,见效最快的解决方案,一般来讲,数据库规模在几十万和几百万级别的时候见效最快。 索引加字段;当字段上建有索引时,通常以下情况会使用索引: INDEXCOLUMN 运算符操作
INDEXCOLUMN between ? and ? INDEXCOLUMN in (?,?,...,?)
INDEXCOLUMN like ?||‘%‘(后导模糊查询) T1. INDEXCOLUMN=T2. COLUMN1(两个表通过索引字段关联)

适合当索引字段:主键,外键,有特殊意义的,
日期,大字段,数值不适合加索引
2.返回更明确的字段(SQl分页)
3.减少交互次数
4.优化业务逻辑

2.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引
2.尽量避免在 where 子句中使用 != 或 <> 操作符以及is null、不用or 来连接条件、in和 not in 也要慎用
如果一个字段有索引,一个字段没有索引,将导致引擎放弃使用索引而进行全表扫描
instr()与like比较
instr函数也有三种情况:
a. instr(字段,‘关键字‘) > 0 相当于 字段like ‘%关键字%‘: 表示在字符串中包含‘关键字’
b. instr(字段,‘关键字‘) = 1 相当于 字段like ‘关键字%‘ 表示以‘关键字’开头的字符串
c. instr(字段,‘关键字‘) = 0 相当于 字段not like ‘%关键字%‘ 表示在字符串中不包含‘关键字’

模糊查询原文链接:https://blog.csdn.net/Weixiaohuai/article/details/83513957

3.21 数据库优化

原文:https://www.cnblogs.com/Smileing/p/13747234.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!