大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说MySQL中的索引、左连接、右连接、join、sql执行顺序,希望您对编程的造诣更进一步.
逻辑架构:
1、连接层
2、服务层
3、引擎层(插拔式)
4、存储层
存储引擎:
常用的有:MyISAM、InnoDB
查看命令:show variables like “%storage_engine%”;
索引:【单值、复合】
创建索引:create index idx_user_name(索引名字) on user(表名) (name)(字段名)
定义:索引是一种数据结构(帮助MySQL高效的获取数据)
目的:提高查询效率,可以类比字典【可以理解为排好序的快速查找数据结构】
但同时也会影响sql两部分:where后面的查找、order by 后面的排序
优势:提高数据检索效率,降低数据库的iO成本;
劣势:实际上索引也是一种表,它保存的索引字段,是需要占空间的;会降低更新表速度,因为更新表时,MySQL不仅要保存数据还要保存索引文件每次更新添加了索引的字段
分类:
原理:二分查找,类似猜数字游戏【结构:B-TREE(Java主要)、hash、R-TREE】
什么时候该建索引:
什么时候不该建索引:
1、表记录太少
2、经常增删改的表或字段
3、数据重复切分布平均的字段【如果某个数据列包含许多重复的内容,为它建立索引就没有很么实际的效果】
常见的join查询:
一、SQL执行顺序
1 FROM <left_table>
2 ON <join_condition>
3 <join_type>JOIN<right_table>
4 WHERE <where_condition>
5 GROUP BY <group_by_list>
6 HAVING <having_condition>
7 SELECT
8 DISTINCT<select_list>
9 ORDER BY <order_by_condition>
10 LIMIT <limit_number>
二、7种join图
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9806.html