关于数据库

1.mysql有哪两个主要的存储引擎 区别呢?

2.存储过程与存储函数的区别?

3.数据库的优化 罗列一些

 

三.数据库优化补充

4.缓存优化 [以mysql为例]

-数据库自身查询缓存 my.ini:query_cache_type/query_cache_size 查询缓存命中 show status like'%Qcache%'

-借助orm框架的一级缓存/二级缓存

-借助spring cache+redis做应用级缓存

 

三.数据库优化补充

4.缓存优化 [以mysql为例]

-数据库自身查询缓存 my.ini:query_cache_type/query_cache_size 查询缓存命中 show status like'%Qcache%'

-借助orm框架的一级缓存/二级缓存

-借助spring cache+redis做应用级缓存

 

三.数据库优化

1.sql语句的优化

 -不用*号 用字段名

-多个where条件的先后顺序调整

-模糊查询尽量用全文搜索框架solr/elastic等 而不是like 一定要用like时 注意尽量避免两边%通配符 实在避免不了两边%的 还可以考虑position函数

  或locatiotion函数

-子查询时 内表较小用in 外表较小用exists

2.库表结构优化

-合理建立索引

-合理设置冗余字段 减少联表

-合理进行分库分表 读写分离等等

3.硬件优化

-如固态硬盘装数据库

-如硬盘阵列增大数据IO

 

二.存储过程与存储函数的区别?  

1.存储过程无返回 用输出参数变通 自定义函数有返回

2.存储过程的职责是业务逻辑 是部分代替程序的service层 调用时用call语句

-而自定义函数是系统函数sum/max/min/...等的补充 功能针对性强 用sql语句调用

3.存储过程常用于对数据库做CRUD及逻辑计算等各种混合操作

-而自定义函数一般只用于读值计算 不用于写表

-并不是说自定义函数绝对不能写表 而是一般不这么用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值