MySQL55题详解:InnoDB与MyISAM区别、事务隔离与数据类型

版权申诉
0 下载量 143 浏览量 更新于2024-08-03 收藏 233KB PDF 举报
本资源是一份名为"MySQL55题答案.pdf"的文档,包含了关于MySQL数据库的多个知识点,适合用于复习和准备MySQL相关的面试题。以下是部分提炼的知识点: 1. **自增主键的处理**: - 在MyISAM表类型中,如果插入记录后删除了自增ID对应的行,然后重启MySQL,新插入的记录ID将跳过被删除的ID,直接继续自增序列,因此是18。 - 对于InnoDB表,自增ID存储在内存中,重启可能导致ID丢失,所以在这种情况下,新插入的记录ID可能是15。 2. **Mysql技术特点**: - Mysql是一个开源、免费的数据库系统,支持多线程SQL服务器、不同后端、多种API和管理工具。 - 具有便携性,提供了命令行界面和GUI工具,如查询浏览器,便于管理和操作。 3. **HEAP表与存储特性**: - HEAP表是内存中的临时存储结构,只适用于非持久数据,不支持BLOB或TEXT字段,且只允许比较运算。 - 不支持AUTO_INCREMENT,索引不允许为NULL。 4. **默认配置信息**: - Mysql服务器的默认监听端口是3306。 5. **与Oracle比较的优势**: - Mysql作为开源软件,成本更低,无需付费。 - 提供便携性,以及命令行和图形用户界面。 6. **FLOAT和DOUBLE的区别**: - FLOAT占用4字节,精度为8位;而DOUBLE占用8字节,精度为18位。 7. **CHAR_LENGTH和LENGTH的区别**: - CHAR_LENGTH返回字符串的实际字符数,而LENGTH则返回字节数,对于不同字符编码,两者结果不同。 8. **InnoDB事务隔离级别**: - 从低到高依次是:read-uncommitted(读未提交),read-committed(脏读),repeatable-read(可重复读),serializable(串行化)。 - 各级别确保数据的一致性和并发控制,serializable级别提供最高的数据一致性和隔离性。 9. **ENUM的使用**: - ENUM用于定义列的预设值列表,如创建表时声明`size ENUM('Small', 'Medium', 'Large')`,表示size字段只能取这些值。 通过这份文档,你可以深入理解MySQL的各种概念、数据类型、事务处理和存储机制,有助于提升MySQL的相关技能和应对面试挑战。