主题
MySQL
- ✅MySQL能保证数据100%不丢吗?
- ✅有了关系型数据库,为什么还需要NOSQL?
- ✅MySQL的数据存储一定是基于硬盘的吗?
- ✅InnoDB和MyISAM有什么区别?
- ✅char和varchar的区别?
- ✅MySQL 5.x和8.0有什么区别?
- ✅什么是数据库范式,为什么要反范式?
- ✅为什么大厂不建议使用多表join?
- ✅说一说MySQL一条SQL语句的执行过程?
- ✅InnoDB支持哪几种行格式?
- ✅什么是数据库事务机制?
- ✅InnoDB的一次更新事务过程是怎么样的?
- ✅什么是脏读、幻读、不可重复读?
- ✅MySQL中的事务隔离级别?
- ✅InnoDB如何解决脏读、不可重复读和幻读的?
- ✅MySQL 的 select * 会用到事务吗?
- ✅为什么MySQL默认使用RR隔离级别?
- ✅为什么默认RR,大厂要改成RC?
- ✅Innodb的RR到底有没有解决幻读?
- ✅如何理解MVCC?
- ✅当前读和快照读有什么区别?
- ✅介绍下InnoDB的锁机制?
- ✅MySQL的行级锁锁的到底是什么?
- ✅什么是排他锁和共享锁?
- ✅什么是意向锁?
- ✅乐观锁与悲观锁如何实现?
- ✅Innodb加索引,这个时候会锁表吗?
- ✅InnoDB中的索引类型?
- ✅InnoDB为什么使用B+树实现索引?
- ✅MySQL是如何保证唯一性索引的唯一性的?
- ✅什么是聚簇索引和非聚簇索引?
- ✅什么是回表,怎么减少回表的次数?
- ✅什么是索引覆盖、索引下推?
- ✅设计索引的时候有哪些原则(考虑哪些因素)?
- ✅什么是最左前缀匹配?为什么要遵守?
- ✅MySQL索引一定遵循最左前缀匹配吗?
- ✅MySQL的主键一定是自增的吗?
- ✅uuid和自增id做主键哪个好,为什么?
- ✅order by 是怎么实现的?
- ✅count(1)、count(*) 与 count(列名) 的区别
- ✅limit 0,100和limit 10000000,100一样吗?
- ✅SQL语句如何实现insertOrUpdate的功能?
- ✅binlog、redolog和undolog区别?
- ✅用了索引还是很慢,可能是什么原因?
- ✅SQL执行计划分析的时候,要关注哪些信息?
- ✅是否支持emoji表情存储,如果不支持,如何操作?
- ✅如何优化一个大规模的数据库系统?
- ✅MySQL只操作同一条记录,也会发生死锁吗?
- ✅数据库死锁如何解决?
- ✅索引失效的问题如何排查?
- ✅如何进行SQL调优?
- ✅区分度不高的字段建索引一定没用吗?
- ✅慢SQL的问题如何排查?
- ✅MySQL主从复制的过程
- ✅介绍一下InnoDB的数据页,和B+树的关系是什么?
- ✅MySQL的驱动表是什么?MySQL怎么选的?
- ✅MySQL的Hash Join是什么?
- ✅MySQL执行大事务会存在什么问题?
- ✅MySQL怎么做热点数据高效更新?
- ✅SQL中PK、UK、CK、FK、DF是什么意思?
- ✅什么是buffer pool?
- ✅buffer pool的读写过程是怎么样的?
- ✅什么是InnoDB的页分裂和页合并
- ✅MySQL自增主键用完了会怎么样?
- ✅执行计划中,key有值,还是很慢怎么办?
- ✅数据库乐观锁的过程中,完全没有加任何锁吗?
- ✅MySQL的binlog有几种格式
- ✅MySQL的并行复制原理
- ✅MySQL的深度分页如何优化
- ✅MySQL的limit+order by为什么会数据重复?
- ✅什么是数据库的主从延迟,如何解决?
- ✅什么是事务的2阶段提交?
- ✅介绍下MySQL 5.7中的组提交
- ✅为什么MySQL 8.0要取消查询缓存?
- ✅MyISAM 的索引结构是怎么样的,它存在的问题是什么?
- ✅MySQL中like的模糊查询如何优化
- ✅数据库怎么做加密和解密?
- ✅数据库加密后怎么做模糊查询?
- ✅where条件的顺序影响使用索引吗?
- ✅什么是MySQL的字典锁?
- ✅什么是OnlineDDL
- ✅为什么不推荐使用外键?
- ✅为什么MySQL会选错索引,如何解决?
- ✅唯一索引和主键索引的区别?
- ✅联合索引是越多越好吗?
- ✅为什么不建议使用存储过程?
- ✅阿里的数据库能抗秒杀的原理
- ✅一个查询语句的执行顺序是怎么样的?
- ✅on和where有什么区别?
- ✅InnoDB中的表级锁、页级锁、行级锁?
- ✅truncate、delete、drop的区别?
- ✅什么时候索引失效反而提升效率?
- ✅高并发情况下自增主键会不会重复,为什么?
- ✅什么情况会导致自增主键不连续?
- ✅Using filesort 能优化吗,怎么优化?
- ✅从 innodb 的索引结构分析,为什么索引的 key 长度不能太长?
- ✅MySQL用了函数一定会索引失效吗?
- ✅什么是索引合并,原理是什么?
- ✅a,b两个单独索引,where a=xx and b=xx 走哪个索引?为什么?
- ✅MySQL为什么会有存储(内存)碎片?有什么危害?
- ✅MySQL 中如何查看一个 SQL 的执行耗时
- ✅怎么比较两个索引的好坏?
- ✅MySQL 获取主键 id 的瓶颈在哪里?如何优化?
- ✅MySQL 为什么是小表驱动大表,为什么能提高查询性能?
- ✅什么是数据库的锁升级,Innodb 支持吗?
- ✅数据库扫表任务如何避免出现死循环
- ✅A,B,C的联合索引,按照 AB,AC,BC查询,能走索引吗?
- ✅什么是索引跳跃扫描
- ✅MySQL是AP的还是CP的系统?
- ✅MySQL的优化器的索引成本是怎么算出来的?
- ✅什么是ReadView,什么样的ReadView可见?
- ✅undolog会一直存在吗?什么时候删除?
- ✅二级索引在索引覆盖时如何使用MVCC?
- ✅MySQL的BLOB和TEXT有什么区别?
- ✅什么是MySQL的内存碎片?如何清理?
- ✅MySQL做索引更新的时候,会锁表吗?
- ✅MySQL如何实现行转列和列转行?
- ✅什么是前缀索引,使用的时候要注意什么?
- ✅limit的原理是什么?
- ✅a,b都有索引,select * from table where a = xx order by b。走哪个索引?
- ✅为啥 like %xx不走索引?like xx%xxx走索引吗?为啥?
- ✅MySQL的update语句什么时候锁行什么时候锁表
- ✅MySQL事务ACID是如何实现的?
- ✅一次insert操作,MySQL的几种log的写入顺序?
- ✅为什么要尽量避免使用select * ?
- ✅MySQL建了abc的联合索引,底层会建a,ab, abc这3个索引么?
- ✅MySQL如何实现不同隔离级别?
- ✅如果SQL中一定要有join,该如何优化?
- ✅表中只有a,b,c 三个字段,比较select * 与 select a,b,c有什么区别。
- ✅exists和in有什么区别?如何选择?
- ✅varchar(100)和varchar(10)有什么区别?
- ✅执行计划中的filtered的值有啥用?