组织部信息化建设官方网站,dedecms网站关键词,外汇网站模版,wordpress 激活邮件1. 执行流程
mysql客户端先与服务器建立连接Sql语句通过解析器形成解析树再通过预处理器形成新解析树#xff0c;检查解析树是否合法通过查询优化器将其转换成执行计划#xff0c;优化器找到最适合的执行计划执行器执行sql
2. MYISAM和InNoDB的区别
MYISAM#xff1a;不支…
1. 执行流程
mysql客户端先与服务器建立连接Sql语句通过解析器形成解析树再通过预处理器形成新解析树检查解析树是否合法通过查询优化器将其转换成执行计划优化器找到最适合的执行计划执行器执行sql
2. MYISAM和InNoDB的区别
MYISAM不支持外键、不支持事务、表锁InNoDB支持外键、支持事务、行锁
3. 什么是索引
索引是数据结构索引的目的是提高查询效率
4. 索引的优劣势
优势提高数据检索的效率、降低数据排序和分组的成本劣势降低更新表的速度、占用空间
5. 聚簇索引与非聚簇索引
聚簇索引叶子结点存储的是行数据非聚簇索引叶子结点存储的是物理地址值访问数据总是需要二次查找(回表)
6. MySQL索引分类
按功能逻辑分主键索引、唯一索引、全文索引、普通索引按物理实现方式分聚簇索引、非聚簇索引按作用字段分单列索引、联合索引主键索引设定为主键后数据库会自动建立索引单值索引一个索引只包含单个列唯一索引索引列的值唯一可以为空复合索引一个索引包含多个列
7. 不同的存储引擎支持的索引类型
InNoDB支持B-tree、Full-text不支持Hash索引MyISAM支持B-tree、Full-text不支持Hash索引Archive不支持B-tree、Full-textHash索引NDB支持Hash索引不支持B-tree、Full-textMemory支持B-tree、Hash索引不支持Full-text索引
8. 创建索引
隐式创建有主键约束、唯一性约束、外键约束的字段会自动创建索引显示创建create Table table_name Index index_name
9. 查看索引
方式一show create table 表名;方式二show index from 表名;
10. 适合创建索引的11种情况
字段的数值有唯一性的限制频繁作为where查询条件的字段经常使用group by和order by 的列update、delete的where条件列distinct字段需要创建索引多表联查时创建索引的注意事项第一连接表的数量尽量不要超过三张第二对where条件创建索引第三对连接的字段创建索引使用列的类型小的创建索引使用字符串前缀创建索引使用区分度高的创建索引联合索引中使用最频繁的列放到联合索引的左侧在多个字段都需要创建索引的情况下联合索引优于单值索引
11. 限制索引的数目单表的索引尽量不要超过6个
索引需要占用磁盘空间需要维护索引会影响insert,update,delete等语句的性能‘优化器在选择执行计划时如果有多个索引可以用会增加优化器生成执行计划降低查询效率
12. 不适合创建索引的情况
在where中使用不到的字段不建议建立索引数据量小的表不建议建立索引字段有大量重复的数据(重复率达到百分之10)不建议建立索引经常更新的表不建议建立索引无序的字段不建议建立索引(例如身份证)不经常使用的索引建议删除不要定义冗余或者重复的索引
13. explain的四种格式
传统格式输出是表格形式JSON格式输出信息最详细的格式包含了执行的成本信息TREE格式描述各个部分之间的关系和各个部分的执行顺序可视化输出
14. explain各字段含义
select_type区别普通查询、联合查询、子查询table查询的表名typeall---index---range---ref---eq_ref---constkey当前查询实际使用的索引key_len索引中使用到的字节数可以算出具体使用了索引中的哪些列ref显示索引的那一列被使用rows执行查询时必须检查的行数extra不适合在其他列中显示但十分重要的额外信息
15. extra
Using filesort使用了非索引字段排序Using temporary临时表、根据非索引字段进行分组Using index使用索引字段进行了查询Using where使用where进行了过滤Using join buffer使用了缓存非主键缓存impossible wherewhere子句的值总是false
16. 索引失效的10种情况
在使用联合索引不满足最左匹配原则使用了select *索引列上有计算索引列上用了函数字段类型不同like查询条件中左边包含%列对比使用or关键字or关键字连接的字段都要建立了索引则不会失效否则索引失效not in,not exists使用在非主键字段会导致索引失效order by后没有where和limit条件满足最左匹配原则但是多个字段的排序规则不同
17. 索引优化
物理查询优化通过索引和表连接方式优化逻辑查询优化通过SQL等价变换提升查询效率18. 范式的种类
第一范式(1NF)数据表中每个字段必须满足原子性第二范式(2NF)满足第一范式、必须有主键、非主键字段必须完全依赖主键第三范式(3NF)满足第二范式、非主键字段只和主键字段直接关联(即非主键字段不能依赖于其他非主键字段)巴斯-科德范式(BCNF)满足第三范式、并且只有一个候选键第四范式(4NF)第五范式(5NF,又称完美范式)
19. 如何定位调优问题
用户的反馈日志分析服务器资源使用监控数据库内部状态监控
20. 优化MySQL的参数
innodb_buffer_pool_sizeinnoDB类型的表和索引的最大缓存Key_buffer_size索引缓冲区的大小table_cache同时打开表的个数quert_cache_size查询缓冲区的大小
21. 事务的原子性、一致性和持久性由事务的redo和undo日志保证
redo日志重做日志提供再写入操作undo日志回滚日志回滚到某个记录版本