活动介绍

mysql相关知识点的总结

preview
需积分: 0 1 下载量 74 浏览量 更新于2023-12-25 收藏 53KB DOC 举报
MySQL 相关知识点总结 MySQL 存储引擎基于表的创建时,默认使用 InnoDB,从 5.5 版本开始,之前的默认存储引擎是 MyISAM。InnoDB 支持事务、行锁、外键约束,保证数据的完整性和正确性。每个表都有一个表空间文件,包含表结构、数据和索引。逻辑存储结构由表、段、区、页和行组成。 MyISAM 不支持事务和外键,支持表锁,访问速度快。但是,它不适合高并发和大规模数据存储。Memory 存储引擎支持 DML 操作,事务和行锁,高并发,外键约束,但不适合大规模数据存储。 索引是 MySQL 优化查询的重要手段。索引类型包括主键索引、唯一索引、常规索引和全文索引。InnoDB 索引的存储形式有聚集索引和二级索引。聚集索引是必须有的,结构为叶子节点挂的就是 row 数据。二级索引可以有多个,结构为叶子节点挂的就是 id。 B+树索引是 MySQL 的默认索引类型,它具有高速获取数据、提高排序效率和降低 CPU 消耗的优点,但它占用磁盘空间,影响增删改索引结构。Hash 索引支持 Memory 存储引擎,支持等值查询,但不能范围查询和排序。 MySQL 优化后的 B+树索引增加了一个指向相邻叶子节点的链表指针,形成有序的指针,提高访问效率。InnoDB 选择使用 B+树索引是因为相对二叉树,层级更少,查询效率更高,相对 Hash 不能范围查询和排序。 索引分类包括主键索引、唯一索引、常规索引和全文索引。在 Innodb 中,索引的存储形式有聚集索引和二级索引。聚集索引是必须有的,结构为叶子节点挂的就是 row 数据。二级索引可以有多个,结构为叶子节点挂的就是 id。 在 MySQL 中,索引的使用可以提高查询效率,但需要遵守一定的规则,例如最左前缀法则,避免回表查询,避免索引失效。使用 or 两边都要有索引,否则索引失效。字符串不加引号索引失效,模块查询头不配匹就会失效。 SQL 分析是 MySQL 优化的重要步骤,可以通过 show global status like 'Com____' 查看查询 SQL 的执行频率,通过慢 SQL 日志查看 SQL 执行时间,通过 profile 查看 SQL 执行各个阶段的耗时。执行计划可以通过 explain 查看,包括 id,type,possible_key,key,key_len,rows,filtered 和 extra 等信息。 索引使用需要遵守一定的规则,例如避免回表查询,避免索引失效,使用 or 两边都要有索引,否则索引失效。字符串不加引号索引失效,模块查询头不配匹就会失效。 覆盖索引可以减少查询时间,返回的数据尽量包含索引,少用 select*。前缀索引可以对大字段部分长度做索引,减少索引体积空间,选择长度越长越好。联合索引可以存在多个查询条件,建议使用。
身份认证 购VIP最低享 7 折!
30元优惠券
程序猿小蝌蚪黄小帅
  • 粉丝: 69
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜

最新资源