mysql的总结(二)

mysql查询的几种方式

1.const:用主键或唯一二级索引进行等值查询时

2.ref:用普通二级索引进行等值查询时

3.range:利用索引进行范围匹配

4.index:遍历⼆级索引记录的执⾏⽅式称

5.all:全表扫描

 2.mysql的连接

1.内连接:驱动表中的记录在被驱动表中找不到匹 配的记录,该记录不会加⼊到最后的结果集,我们上边提到的 连接都是所谓的内连接

2.外连接:对于外连接的两个表,驱动表中的记录即使在被驱动表中没有 匹配的记录,也仍然需要加⼊到结果集。

  1.左外连接:选取左侧的表为驱动表。

  2.右外链接:选取右侧的表为驱动表。

3.mysql的子查询

4.EXPLAIN语句来帮助我们查看某个查询语句的具体执⾏计划

on过滤条件

ON⼦句中的过滤条件 对于外连接的驱动表的记录来说,如果⽆法在被驱动表中找到 匹配ON⼦句中的过滤条件的记录,那么该记录仍然会被加⼊到 结果集中,对应的被驱动表记录的各个字段使⽤NULL值填充。 需要注意的是,这个ON⼦句是专⻔为外连接驱动表中的记录在 被驱动表找不到匹配记录时应不应该把该记录加⼊结果集这个 场景下提出的,所以如果把ON⼦句放到内连接中,MySQL会把 它和WHERE⼦句⼀样对待,也就是说:内连接中的WHERE⼦句 和ON⼦句是等价的。

⼀般情况下,我们都把只涉及单表的过滤条件放到WHERE⼦句中,把 涉及两表的过滤条件都放到ON⼦句中,我们也⼀般把放到ON⼦句中 的过滤条件也称之为连接条件。

左外连接的用法

SELECT * FROM t1 LEFT [OUTER] JOIN t2 ON 连接条件 [WHERE 普通过滤条件];

mysql的mvcc原理

当事务的隔离级别是rc rr时。采用的是mvcc(多版本并发控制).

原文地址:https://www.cnblogs.com/lzh66/p/13659210.html