数据库
数据库自增id,当id值大于MAXINT时,数据库如何做
bigint unsigned
前戳索引
当要索引的列字符很多时 索引则会很大且变慢( 可以只索引列开始的部分字符串 节约索引空间 从而提高索引效率 )
Mysql索引类型
Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE。
索引种类
普通索引:仅加速查询
唯一索引:加速查询 + 列值唯一(可以有null)
主键索引:加速查询 + 列值唯一(不可以有null)+ 表中只有一个
组合索引:多列值组成一个索引,专门用于组合搜索,其效率大于索引合并
全文索引:对文本的内容进行分词,进行搜索
数据库如何保证事务的可串行化。
事物a 执行读写操作时,会锁定检索的数据行范围(范围锁),这种锁会阻止其他事物在本范围内的一切操作,
只有事物a执行完毕,提交事物后,才会释放范围锁,这样就避免了幻读。
事务隔离级别有什么?通过什么来实现的?分别解决了什么问题?
Redis如何实现集群和高可用?redis分布式锁的加锁解锁详细实现?
有哪些持久化方式?区别呢?
AOF
Redis集群和哨兵模式区别
InnoDB存储引擎(从InnoDB的特性出发,行锁,全文索引,聚蔟索引,必须含有主键(没有主键怎么办,如何选择),
为什么是B+树,而不是B树,而不是红黑树,磁盘IO,以及B+树和B树的区别),然后就是InnoDB的MVVC实现
(版本号如何进行各种数据库操作)。
mysql调优过程,即如何发现问题,问题出现的场景,问题出现的原因,解决问题的方法
问了一个这样的表(三个字段:姓名,id,分数)要求查出平均分大于80的id然后分数降序排序。
select id from table group by id having avg(score) > 80 order by avg(score) desc。
原文:https://www.cnblogs.com/HHHzhihao/p/12609845.html