腾讯课堂-面试题讲解
腾讯课堂-面试题讲解
###常见的数据库面试题
sql分类
- DQL查询
- DML操纵
- TCL事务控制
- DDL定义
- DCL控制
Mysql中Innodb和MyIsam的区别
- 支持事务,后者不支持
- 支持行锁,后者只支持表锁
- 支持外接,后者不支持
- 不支持全文索引,后者支持
MySQL如何做主备
- 冷备,停机,copy物理文件
- 热备,文件快照
温备,mysqldump,二进制日志文件
- 存储的是命令
常用的SQL函数?
- 数学函数
字符串函数
- Oracle字符串拼接使用||
- Mysql字符串拼接使用concat
- 日期和时间函数
- 条件判断函数
- 系统信息函数
- 加密函数
- 格式化函数
如何查看一个查询用到哪个index
- explain
如何强制mysql使用index
- force
数据库查询性能下降,想找到哪些SQL耗时比较长,应该如何操作?my.cnf里如何配置
- slow_query_log = ON 开启慢查询
- slow_query_log_file = /usr/local/mysql/data/slow.log
- long_query_time = 1
mysql锁的类型
- 根据锁的类型分,可以分为共享锁,排它锁,意向共享锁,意向排他锁,字符串函数
- 根据锁的细粒度分,又可以分为行锁,表锁,条件判断函数
聊一聊数据库的优化?
分析:sql慢的原因
1.并发量大
- 缓存,考虑有的访问能不能不从数据库中剔除掉,热点数据用redis缓存
- ElasticSearch搜索引擎没有有效期
- 连接数过多,我们选择搭建集群,MyCat数据库中间件,读写分离,分表分片规则,S-JDBC数据库中间件也可以实现
2.数据量大
sql语句的优化
- 数据类型
- 索引优化
- 读写分离
- 分片
落地:
- 准备大量数据 insert into select
- 实施优化方案,
- 1.使用慢查询,筛选需要优化的sql语句
- 2.索引,提高查询速度
- 3.分片
- 4.分离,将经常查询的数据存储到缓存中间件中
- 5,总结
还没有评论,来说两句吧...