------【MySQL】
文章平均质量分 74
独孤文彬
人生的转折从大米时代开始
展开
-
MySQL5.7性能优化系列(二)——SQL语句优化(4)——使用合并、物化策略优化派生表、视图引用
优化器可以使用两种策略处理派生表(FROM子句中的子查询)引用: 将派生表合并到外部查询块中 将派生表物化为内部临时表 优化器使用相同的策略来处理视图引用。示例1:SELECT * FROM (SELECT * FROM t1) AS derived_t1;通过合并,该查询的执行类似于:SELECT * FROM t1;示例2:SELECT * FROM t1 JOIN (SELECT t2.f翻译 2017-08-08 10:00:13 · 1363 阅读 · 5 评论 -
MySQL5.7性能优化系列(二)——SQL语句优化(2)——子查询-派生表-视图--概述
章节内容: 使用Semi-join连接优化子查询、派生表、视图 使用Materialization优化子查询 优化派生表、视图 使用Exist 策略优化子查询 概述in或者any子查询MySQL查询优化器具有不同的策略来评估子查询。对于IN(或= ANY)子查询,优化器具有以下选择: Semi-join 半连接策略 Materialization物化策略 EXISTS 策略 not in (<>或者翻译 2017-08-02 22:11:59 · 1431 阅读 · 3 评论 -
MySQL5.7性能优化系列(二)——SQL语句优化(2)——使用 Semi-Join半连接变换优化子查询,派生表和视图
优化器使用半连接策略来改进子查询执行,如本节所述。对于两个表之间的内部连接,连接从一个表返回一行多于另一个表中的匹配项。但是对于一些问题,唯一重要的信息是是否有匹配,而不是匹配的数量假设有一个名为class和roster的表分别列出课程表和课程名单(每个班级的学生)。要列出实际注册学生的课程,您可以使用此连接:SELECT class.class_num, class.class_name FROM翻译 2017-08-05 09:18:11 · 1229 阅读 · 1 评论 -
MySQL5.7性能优化系列(二)——SQL语句优化(3)——使用物化策略优化子查询
优化器使用物化策略(Materialization)来实现更有效的子查询处理。通过生成子查询结果作为临时表,通常在内存中,实现加速查询执行。 MySQL首次需要子查询结果,将该结果实现为临时表。任何随后的结果都需要,MySQL再次指向临时表。优化器可以使用散列索引对表进行索引,以使查找更加快速和便宜。该索引是唯一的,它消除了重复,并使表格更小。子查询实现可能时使用内存中临时表,如果表变得太大,则返回翻译 2017-08-06 10:49:28 · 1035 阅读 · 2 评论