MySQL面试知识点总结数据库设计索引事务隔离级别及SQL注入
MySQL面试知识点总结
本文是笔者根据自己的经验和资料整理而成,主要介绍MySQL相关面试知识点,内容涉及分布式和集群、主从服务器、数据库的数据结构、索引以及索引创建、数据库设计四大范式、反范式化、事务基本要素、隔离级别及实现、事务并发问题、MVCC和SQL注入。
数据库的数据结构
数据库的数据结构主要包括表、行、列、键、索引等,其中表是数据的逻辑存储单位,行是表中的数据记录,列是行中的数据项,键是标识唯一行的一列或一组列,索引是提高查询效率的一种数据结构。
索引与索引创建
索引是一种数据结构,可以提高数据的检索效率,索引的创建应该尽量避免重复、过长、过多的索引,同时应该注意选择合适的索引类型。
数据库设计四大范式和反范式化
数据库设计四大范式是保证数据库数据完整性和减少数据冗余的重要原则,反范式化则是根据具体业务需求对数据库进行优化。
事务的基本要素、隔离级别及实现
事务是一组操作,要么全部执行,要么全部不执行,事务的实现需要考虑事务的基本要素,如原子性、一致性、隔离性、持久性等,以及事务隔离级别的选择和实现方式。
事务并发问题和MVCC
事务并发问题主要包括脏读、不可重复读、幻读等,MVCC是一种多版本并发控制技术,可以避免这些并发问题。
SQL注入
SQL注入是指利用程序没有对用户输入的数据进行充分过滤和验证,导致恶意用户可以通过构造特殊的输入数据执行非授权操作的一种攻击方式,应该采取预编译、参数化查询等措施进行防范。
用户评论