SQL优化经验(MySQL高级)

面试题问法:
1.数据库表不同表操作的一致性
2.项目中用的mysql哪些事务,几种事务的区别,在项目实际场景中的应用,mysql使用的数据库引擎是什么?为什么要用这种隔离级别?
3.mysql有几种事务隔离级别,以及他们的区别
4.mysql查询当前时间(重点)
6.平时写sql注意哪些 除了索引
7.怎么查询当前数据库时间
8.怎么使用命令给表中插入一个字段
alter table t_site_audit add id_number varchar(64)COMMENT ‘ID号’;
9. Mysql查询慢怎么办?
10.开启慢查询日志定位;加索引;分表;
选择正确的存储引擎,优化sql语句
(避免select *,order by rand ,尽可能使用 nut null 等)硬件的升级 等
A=1 b=1 c=1 a b c, a b , a c , b c, a , b 哪些会被索引?
最佳左前缀法则
11. Mysql主从是同时实现的吗?
不是
15、 如何解决数据同步的问题(重点)
16、 现场写sql
17.explain,索引优化相关的。
18、索引优化
19.sql优化、索引
20.mysql的默认隔离级别
21.sql索引,sql优化
22.数据库死锁之类的问题,还有事务的隔离级别,
23.可重复度能解决幻读得问题吗,怎末解决,
33、平常优化过有问题的SQL吗?
34、你怎么确定哪个字段要加索引,或者有没有索引?
35、where条件有三个,怎么区分三个条件那个要加,要加在那个上
36、mysql库表的设计是由谁来做的?是你项目经理还是自己?
37、Mycat怎么使用的,是怎么分片的,全局序列怎么做的(问到了)
38.项目中用的mysql哪些事务,
39、mysql怎么优化的
40.sql出几个场景口述下怎么实现?
41.sql问的比较多,包括动态sql
42.mysql,有没有参与数据库设计(没有),现场出个简单场景让你设计表关系及字段
43.mysql索引失效情况、sql优化分析重点看什么信息、慢查询日志
44.mysql优化,索引失效(为什么不满足最佳左前缀会索引失效)
45.你写过最复杂的sql是什么?现场写一个
46.在哪些情况下不应该使用索引 7.为什么要加索引,及优缺点。
47.说出mycat主从复制原理。sql语句执行慢的原因有哪些?你是如何解决的。sql级别优化有哪些?
48.MySQL优化
50.sql查询当前时间
第一种方法:select current_date;

mysql> select current_date as Systemtime;
±-----------+
| Systemtime |
±-----------+
| 2009-07-29 |
±-----------+

第二种方法:select now()

mysql> select now() as Systemtime;
±--------------------+
| Systemtime |
±--------------------+
| 2009-07-29 19:06:07 |
±--------------------+

第三种方法:select sysdate()

mysql> select sysdate() as Systemtime;
±--------------------+
| Systemtime |
±--------------------+
| 2009-07-29 19:06:45 |
±--------------------+

51.sql优化,索引有哪几种类型,怎么建,建立规则
52.Mysql的存储引擎
53. 行级锁的排他性
54. 事务的隔离级别
55. Sql的优化
56. Mysql的聚簇索引,联合索引,组合索引的区别
57. Mycat三个文件
58. sql问到的时候思考步骤:
1.什么是索引?数据结构
2.索引优缺点
3.sql查询慢,怎么优化(4)
4.哪些情况需要(6)、不需要建索引(4)
在这里插入图片描述
59.往表中插入100万行,怎么做会快一些??(面试真题)
1.for循环,foreach,多个sql拼接
2.除了主键索引,其他索引全部删掉
3.mysql自动提交关闭,,10万个发过来,commit一次
4.多线程,起多个线程,插入语句。
60.索引原则(8条)
61.mycat3个文件夹。
62.为什么要用这个
封装解耦。。
63.面试被问到,binglog日志格式分几种::3种,,区别:::
statement 缺点: 主从复制数据不一致
ROW:行模式:记每一行的改变;效率问题,行多了,就不行了
Mixed:切换。遇到系统变量就不行了

在这里插入图片描述
64.数据库分布式??
数据库优化,大数据层的优化??读写分离,分库分表。。。

问了些关于sql优化的问题,用户查询变慢你怎么去分析解决
《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
企业中不用外键。。。

行锁会发生死锁。。。

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
建表,建主键了,mysql会自动创建主键索引在这里插入图片描述在这里插入图片描述
二叉树,数据结构。。。
查询,排序变快了。。在这里插入图片描述
占空间,写操作变慢在这里插入图片描述在这里插入图片描述
平衡数。数据结构在这里插入图片描述

mysql 选择 B+Tree(电脑内存有限)

不要抛开计量说疗效

缺页??io在这里插入图片描述在这里插入图片描述在这里插入图片描述

平衡树:特点:不平衡是旋转

在这里插入图片描述
面试考题::
聚错
重点???
聚簇索引::对表来说就是主键索引(定规则,一张表只能有一个聚簇索引(字典))在这里插入图片描述

怎么去建索引:::

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
找一个没有任何意义的id就可以了跟其他表关联在这里插入图片描述
复合索引使用顺序的,体现??

在这里插入图片描述
复合索引使用顺序的,体现??在这里插入图片描述

在这里插入图片描述在这里插入图片描述
主键。查询,关联字段,单间组合索引,排序,统计或分组gropby,orderby

gropby伤害性能更大,包含了一个orderby,先排序后分组。

在这里插入图片描述
过滤芯:性别不好,身份证好
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
在这里插入图片描述

怎么建索引

在这里插入图片描述在这里插入图片描述在这里插入图片描述

6条在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
where条件没用上索引在这里插入图片描述
合并索引。or,,merge在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
where后边的筛选条件使用索引长度在这里插入图片描述
上边的好些:::在这里插入图片描述
在这里插入图片描述
age 11 是位数,不是长度。。 int长度为4,5的话,null允许+1,,最大也就5了
char固定长度。varchar可变长度。。在这里插入图片描述在这里插入图片描述
理论上的行数,实际上不一定。。。有偏差在这里插入图片描述在这里插入图片描述在这里插入图片描述
orderby和grupby在这里插入图片描述
第一个,orderby没有用上索引,手动排序在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
groupby没用上索引
在这里插入图片描述
包含orderby
在这里插入图片描述
在这里插入图片描述
关联字段没有用上索引
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《
在这里插入图片描述在这里插入图片描述在这里插入图片描述
主从复制::
redis:
在这里插入图片描述
mysql:(默认不许创建函数)在这里插入图片描述
有函数:随机获取当前系统时间(数据不一致)
随机生成字符串:在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
批量删除索引??
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
取到空在这里插入图片描述在这里插入图片描述

存储过程

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
别走缓存在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
2int+1varchart
在这里插入图片描述组合索引
在这里插入图片描述
命中字段越多查询越快在这里插入图片描述
优化器的使用,,,
在这里插入图片描述
命中一个,,
在这里插入图片描述
命中0个,,在这里插入图片描述在这里插入图片描述
复合索引有序列

在这里插入图片描述在这里插入图片描述

where后边的字段严禁使用函数,计算,类型转换,会造成索引失效

在这里插入图片描述
范围查询右边,索引的右边(不是where后的右边),,右边失效在这里插入图片描述
日期,创建时间。。在这里插入图片描述
不等于索引失效。。。。在这里插入图片描述
is null 对在这里插入图片描述
负面的,不等于,is not null 索引失效
在这里插入图片描述在这里插入图片描述
类型转换了,索引失效。。在这里插入图片描述

单表查询原则

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述
》》》》》》》》》》》》》》》》》》》》》》》》》》》》>》》》》》
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述20 笛卡尔乘积400在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
where 后边条件没用索引,select+form中间的字段用上索引了,覆盖索引在这里插入图片描述

第一张表不能避免全表扫描

在这里插入图片描述
left join on 前边的是驱动表,后边的是被驱动表在这里插入图片描述
mysql会帮我们选择合适的作为驱动表。。有索引的作为被驱动表。。

两个表都没有索引,数量少的做驱动表。。。在这里插入图片描述在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述 5.5在这里插入图片描述
虚拟表不能建索引

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
子查询优化,转换为left join
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
手动排序,,在这里插入图片描述
orderby要用到索引

索引优化的第一个口诀::分页也行在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
orderby 中不会进行优化器,所以顺序错了,必须排序。在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
手工排序:::

单路排序快,在这里插入图片描述

内存大小

在这里插入图片描述在这里插入图片描述
1.包含orderby在这里插入图片描述在这里插入图片描述在这里插入图片描述
不要写select*了。。。。。。。。 写具体的会优化点。。。覆盖索引。。。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
开启慢查询日志。。。在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
全程日志??

在这里插入图片描述
查看进程列表,Linux下 ps -ef

kill

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
为什么要用这个,封装解耦。。在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
写到日志中:::

缺点:多次io,有延迟(不要马上查)。。。

区别::redis (RDB)从头复制,,mysql从切入点开始复制。。

redis

主机只能有一台

在这里插入图片描述在这里插入图片描述
wendows当主机,Linux下的mysql当从机在这里插入图片描述
备份
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

面试被问到,binglog日志格式分几种

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值