mysql 分页面试题_MySQL常见面试题

1.undo log,redo log,bin log是什么?Checkpoint是什么?一条MySQL更新语句的执行过程是什么样的?

2.脏页是什么?

5.MySQL中的事务是什么?

6.MySQL的隔离级别是怎么样的?

7.MVCC的实现原理是怎么样的?

8.MySQL是怎么解决幻读的问题的?

9.MySQL中有哪些锁?

10.B树是什么?

11.B树与B+树的区别是什么?

12.索引是什么?

13.字符串索引和数字类型索引的区别?

数字类型索引速度快,字符串涉及字符集编码过程,消耗CPU资源。

当MySQL中字段为int类型时,搜索条件where num=‘111‘ 与where num=111都可以使用该字段的索引。当MySQL中字段为varchar类型时,搜索条件where num=‘111‘ 可以使用索引,where num=111 不可以使用索引。

字符串索引优化:例如存储网站url,可以新增一个索引列,列值是对url进行CRC32("url")编码【不适合使用SHA1()、MD5(),因为编码后是非常长的字符串】。CRC32容易导致重复,可以使用自定义编码算法或者取MD5部分字符。

14.union和union all的区别是什么?

Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;(去重且排序)

Union All:对两个结果集进行并集操作,包括重复行,不进行排序;(不去重不排序--快)

15.Join的工作流程是怎么样的,怎么进行优化?

17.联合索引是什么?

18.回表是什么?覆盖索引是什么?

19.哪些情况不要建索引?主键,唯一性索引,普通索引的区别是什么?

21.InnoDB和MyISAM的区别是什么?

22.什么是分库分表?

23.怎么实现跨库分页查询?

二次查询法

24.MySQL主从复制的工作流程是什么样的?

25.char类型与varchar类型的区别?

char是固定长度存储字符,浪费空间但速度快。varchar是变长存储字符,节省空间但需要计算长度因此速度慢。

char适合存储很短的信息、固定长度信息(uuid)、频繁改变的列(varchar需要频繁计算长度)。

char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.(在检索操作中那些填补出来的空格字符将被去掉-缺点)在varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节)。

26.查询数量SELECT Count(*)怎么优化?

27.如何优化MySQL慢查询?

29.MySQL语句执行顺序?

1 from2 on3 join4 where5 group by(开始使用select中的别名,后面的语句中都可以使用)6 avg,sum....7 having8 select9 distinct10 order by

30.哪些时候索引无效?

31. Select执行过程

32. where having

where子句作用于基表或视图,从中选择满足条件的元组。

having短语作用于组,从中选择满足条件的组。

having只能用在group by之后,对分组后的结果进行筛选(即使用having的前提条件是分组)。

where肯定在group by 之前,即也在having之前。

where后的条件表达式里不允许使用聚合函数,而having可以

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值