面试那些事儿——MySQL

简介

关系型数据库

  • 顾名思义,关系型数据库就是一种建立在关系模型的基础上的数据库。关系模型表明了数据库中所存储的数据之间的联系(一对一、一对多、多对多)。

  • 关系型数据库中,我们的数据都被存放在了各种表中(比如用户表),表中的每一行就存放着一条数据(比如一个用户的信息)。

  • MySQL ,底层数据结构 :B+TREE

  • MySQL 的默认端口号是3306


常见的关系型数据库

  • MySQL、PostgreSQL、Oracle、SQL Server、SQLite(微信本地的聊天记录的存储就是用的 SQLite)

mysql图解内核原理


sql优化和索引

sql优化

1、成绩汇总这块拿到sql效率有点低,为啥慢

  • 业务逻辑问题
  • 索引不太合适
  • type级别低

2、如何查找慢sql

  • druid有监控页面,开启慢查询日志,查看执行慢的sql,
  • explain关键字,查看type字段(all,index)等,如果是全局扫描(或级别低)就进行优化。至少达到range级别,最好达到ref级别
  • 接着用profile查看慢的细节问题,进行调优

3、级别

  • all
  • index
  • range
  • ref

4、索引失效的情况

  • like模糊查询时,%号加在最前面,导致失效
  • sql语句对加索引的字段进行了函数计算,失效
  • sql语句中如果有isnull,isnotnull,也会失效

5、为什么会失效

  • 因为底层用的B+tree,需要左边右边查,如果是isnull这样,就不知道去哪边查了。

6、经常加什么索引(二者选择按照业务来,)

  • 单值索引,一个索引中就一个 字段
  • 联合索引,一个索引中有好
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值