第七章 索引及执行计划,存储引擎
1,索引及执行计划
1,作用:提供类似书目录的作用,目的是优化查询
2,所用的种类(根据算法)
- B树索引
- Hash索引
- R树
- Full text
- GIS
3,B树基于不同的查找算法分类介绍
- B-tree:在范围查询方面提供了更好的性能(><>=<=)
- B+tree
- B*tree
4,在功能上的分类:辅助索引
2,存储引擎
2.1,介绍***
- 相当于Linux操作系统的文件系统
- 数据读写
- 数据安全和一致性
- 提高性能
- 热备份
- 自动故障恢复
- 高可用支持
2.2,种类
- InnoDB
- MyISAM
- MEMORY
- ARCHIVE
- FEDERATED
- EXAMPLE
- BLACKHOLE
- MERGE
- NDBCLUSTER
- CSV
2.3,引擎查看***
mysql>show engines; #存储引擎作用在表上,不同的表可能有不同的存储引擎
mysql> select @@default_storage_engine; #查询默认引擎
#修改默认引擎
mysql>set default_storage_engine=MyISAM; #当前窗口用户
mysql>set global default_storage_engine=MyISAM; #全局修改,所有用户登录,都会使用修改后的3,默认引擎。
3,InnoDB存储引擎介绍
MySQL5.5之后,默认开始使用InnoDB引擎,提供高可靠性和高性能。
3.1,优点(牢记)
1,事务安全
2,MVCC
3,行级锁
4,自动的故障安全恢复ACSR
5,支持热备份
6,复制的新特性Replicatin:GroupCommit,多线程
3.2,InnoDB存储引擎物理存储结构
1,最直观的存储方式(/data/mysql)
- ibdata1:系统数据字典信息(统计信息),UNDO表空间等数据
- ib_logfile0~ib_logfile1:REDO日志文件,事务日志文件。
- ibtmp1:临时表空间磁盘位置,存储临时表
- frm:存储表的列信息
- ibd:表的数据行和索引
2,表空间(tablespace)
#共享表空间
查看共享表空间文件
mysql>select @@innodb_data_file_path;
查看自动扩展参数
mysql>select @@innodb_autoextend_increment;
#独立表空间
存储特点:一个表一个ibd文件,存储数据行以及索引信息
基本表结构元数据存储:.frm文件