- 1.什么是MySQL?
- 2.MySQL常用的存储引擎有什么?它们有什么区别?
- 3.数据库的三大范式
- 4.MySQL的数据类型有哪些
- 5.什么是索引?有什么优缺点?
- 6.MySQL索引的数据结构?
- 7.MySQL中哈希索引和B+树索引的区别?
- 8.MySQL的索引类型有哪些?
- 9.MySQL索引的种类有哪些?
- 10.B树和B+树的区别
- 11.MySQL索引为什么使用B+树而不是B树?
- 12.什么是聚簇索引,什么是非聚簇索引?
- 13.非聚簇索引一定会进行回表查询吗?
- 14.索引的使用场景有哪些?
- 15.索引的设计原则?
- 16.如何对索引进行优化?
- 17.如何创建索引或删除索引?使用索引查询时性能一定会提升吗?
- 18.什么是前缀索引?
- 19.什么是最左匹配原则?
- 20.索引在什么情况下会失效?
- 21.什么是数据库事务?事务的四大特性是什么?
- 22.数据库的并发一致性问题
- 23.数据库的隔离级别有哪些?隔离级别是如何实现的?
- 24.什么是MVCC?
- 25.什么是数据库的锁?数据库的锁与隔离级别的关系?
- 26.数据库锁的类型有哪些?
- 27.MySQL中InnoDB的行锁模式及其是如何实现的?
- 28.什么是数据库的乐观锁和悲观锁,如何实现?
- 29.什么是死锁?如何避免?
- 30.SQL语句主要分为哪几类
- 31.SQL约束有哪些?
- 32.什么是子查询?
- 33.了解MySQL的连接查询吗?
- 34.mysql中in和exists的区别?
- 35.varchar和char的区别?MySQL中int(10)和char(10)和varchar(10)的区别?
- 36.drop、delete和truncate的区别?
- 37.UNION和UNION ALL的区别?
- 38.什么是临时表,什么时候会使用到临时表,什么时候删除临时表?
- 39.大表数据查询如何进行优化?
- 40.了解慢日志查询吗?统计过慢查询吗?对慢查询如何优化?
- 41.为什么要设置主键?主键一般用自增ID还是UUID?
- 42.MySQL字段为什么要设置成not null?
- 43.如何优化查询过程中的数据访问?
- 44.如何优化长难的查询语句?如何优化LIMIT分页?如何优化UNION查询?
- 45.如何优化WHERE子句
- 46.SQL语句执行的很慢原因是什么?
- 47.SQL语句执行顺序?
- 48.数据库中大表如何优化?
- 49.什么是垂直分表、垂直分库、水平分表、水平分库?
- 50.分库分表后,ID键如何处理?
- 51.MySQL的复制原理及流程?如何实现主从复制?
- 52.了解读写分离吗?
52.了解读写分离吗?
当多个事务并发执行时,可能会出现以下问题:
- 脏读:事务A更新了数据,但还没有提交,这时事务B读取到事务A更新后的数据,然后事务A回滚了,事务B读取到的数据就成为脏数据了。
- 不可重复读:事务A对数据进行多次读取,事务B在事务A多次读取的过程中执行了更新操作并提交了,导致事务A多次读取到的数据并不一致。
- 幻读:事务A在读取数据后,事务B向事务A读取的数据中插入了几条数据,事务A再次读取数据时发现多了几条数据,和之前读取的数据不一致。
- 丢失修改:事务A和事务B都对同一个数据进行修改,事务A先修改,事务B随后修改,事务B的修改覆盖了事务A的修改。
不可重复度和幻读看起来比较像,它们主要的区别是:在不可重复读中,发现数据不一致主要是数据被更新了。在幻读中,发现数据不一致主要是数据增多或者减少了。
本站链接:https://www.mianshi.online,如需勘误或投稿,请联系微信:lurenzhang888
点击面试手册,获取本站面试手册PDF完整版