MySQL自增主键与表类型关系及技术特性

需积分: 10 4 下载量 42 浏览量 更新于2024-09-07 1 收藏 511KB PDF 举报
"MySQL55题及答案" 在MySQL数据库中,自增主键的行为取决于表的存储引擎。如果表使用的是MyISAM引擎,当删除记录并重启MySQL服务后,新插入的记录ID会是18,因为MyISAM会将最大ID保存在数据文件中。然而,如果表是InnoDB引擎,删除记录后再重启,新插入的记录ID将是15,因为InnoDB只在内存中保存自增主键的最大值,重启后这个值会丢失。 MySQL的技术特点包括其多线程SQL服务器,支持多种客户端和库,以及具有后端、API和管理工具的灵活性。此外,MySQL还提供了如HEAP表这样的特殊表类型,用于临时高速存储,但不支持BLOB或TEXT字段,不支持AUTO_INCREMENT,索引不能为NULL。 MySQL服务器的默认监听端口是3306。相比于商业数据库如Oracle,MySQL的优势在于其开源免费、便携性高,提供命令行界面和图形化管理工具,如MySQL查询浏览器。此外,MySQL还提供了FLOAT和DOUBLE两种浮点数类型,FLOAT有8位精度,而DOUBLE有18位精度,占用的字节数也不同。 在MySQL的InnoDB存储引擎中,支持四种事务隔离级别:READ UNCOMMITTED(读未提交),可能会读到未提交的数据;READ COMMITTED(读已提交),防止脏读,但可能产生不可重复读;REPEATABLE READ(可重复读),避免了脏读和不可重复读,但在某些情况下可能出现幻读;SERIALIZABLE(序列化),最严格的隔离级别,完全避免了前面的所有问题,但可能导致更高的锁冲突和并发性能下降。 ENUM类型在MySQL中用于创建具有预定义值的列,例如在创建一个名为“size”的表时,可以定义一个ENUM类型的“name”列,允许的值为'Small'、'Medium'、'Large'。 MySQL是一个功能丰富、灵活且高效的数据库管理系统,其多样化的特性和存储引擎适应了各种应用场景,并提供了强大的事务处理能力。了解这些基本概念对于管理和优化MySQL数据库至关重要。