Mysql多表left join关联查询全表扫描问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql多表left join关联查询全表扫描问题相关的知识,希望对你有一定的参考价值。
参考技术A 项目中某个业务列表查询发现速度略慢,看了下sql只是正常的关联查询,并且是小表驱动大表了,explain分析一下之后发现居然是全表扫描导致该问题的原因是关联字段类型不一致,导致索引失效,我们看一下关联字段的字符集
执行修改语句,将关联字段字符集调整为一致
ALTER TABLE groupon_goods_info CHANGE goods_info_id VARCHAR(32) CHARACTER SET utf8 COLLATE utf8_general_ci;
修改之后的查询速度
Mysql 连接(left join, right join, inner join ,full join)
在mysql的数据查询过程中,我们不仅仅会遇到单表查询的情况,特别在软件开发的过程中我们很多情况下是关联其他表查询相关的数据。
在此我们将学习MySQL 的 JOIN 在两个或多个表中查询数据。可以在SELECT, UPDATE 和 DELETE 语句中使用 Mysql 的 JOIN 来联合多表查询。
JOIN 按照功能大致分为如下三类:
INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。
LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。
相关练习的表class1 和class2 数据
mysql> select * from class1; +-----+--------+--------+ | id | name | class | +-----+--------+--------+ | 17 | linux | 66 | | 18 | python | 23 | | 19 | linux | 66 | | 20 | python | 23 | | 21 | linux | 66 | | 22 | python | 23 | | 23 | linux | 66 | | 24 | python | 23 | | 25 | linux | 66 | | 26 | python | 23 | | 27 | linux | 66 | | 28 | python | 23 | | 29 | linux | 66 | | 30 | python | 23 | | 31 | linux | 66 | | 32 | python | 23 | | 33 | linux | 66 | | 34 | python | 23 | | 35 | linux | 66 | | 36 | python | 23 | | 37 | linux | 66 | | 38 | python | 23 | | 39 | linux | 66 | | 40 | python | 23 | | 41 | linux | 66 | | 42 | python | 23 | | 43 | linux | 66 | | 44 | python | 23 | | 45 | linux | 66 | | 46 | python | 23 | | 47 | linux | 66 | | 48 | python | 23 | | 49 | linux | 66 | | 50 | python | 23 | | 51 | linux | 66 | | 52 | python | 23 | | 53 | linux | 66 | | 54 | python | 23 | | 55 | linux | 66 | | 56 | python | 23 | | 57 | linux | 66 | | 58 | python | 23 | | 59 | linux | 66 | | 60 | python | 23 | | 61 | linux | 66 | | 62 | python | 23 | | 63 | linux | 66 | | 64 | python | 23 | | 65 | linux | 66 | | 66 | python | 23 | | 67 | linux | 66 | | 68 | python | 23 | | 69 | linux | 66 | | 70 | python | 23 | | 71 | linux | 66 | | 72 | python | 23 | | 73 | linux | 66 | | 74 | python | 23 | | 75 | linux | 66 | | 76 | python | 23 | | 77 | linux | 66 | | 78 | python | 23 | | 79 | linux | 66 | | 80 | python | 23 | | 81 | linux | 66 | | 82 | python | 23 | | 83 | linux | 66 | | 84 | python | 23 | | 85 | linux | 66 | | 86 | python | 23 | | 87 | linux | 66 | | 88 | python | 23 | | 89 | linux | 66 | | 90 | python | 23 | | 91 | linux | 66 | | 92 | python | 23 | | 93 | linux | 66 | | 94 | python | 23 | | 95 | Tom | 1year | | 96 | Jack | 2year | | 97 | Yaheng | winner | | 98 | Tom | 1year | | 99 | Jack | 2year | | 100 | Yaheng | winner | | 101 | Tom | 1year | | 102 | Jack | 2year | | 103 | Yaheng | winner | | 104 | Tom | 1year | | 105 | Jack | 2year | | 106 | Yaheng | winner | | 107 | Tom | 1year | | 108 | Jack | 2year | | 109 | Yaheng | winner | | 110 | Tom | 1year | | 111 | Jack | 2year | | 112 | Yaheng | winner | | 113 | Tom | 1year | | 114 | Jack | 2year | | 115 | Yaheng | winner | | 116 | Tom | 1year | | 117 | Jack | 2year | | 118 | Yaheng | winner | | 119 | Tom | 1year |
练习表class2
mysql> select * from class2; +-----+--------+---------+ | id | name | class | +-----+--------+---------+ | 17 | linux | 66 | | 18 | python | 23 | | 19 | linux | 66 | | 20 | python | 23 | | 21 | linux | 66 | | 22 | python | 23 | | 23 | linux | 66 | | 24 | python | 23 | | 25 | linux | 66 | | 26 | python | 23 | | 27 | linux | 66 | | 28 | python | 23 | | 29 | linux | 66 | | 30 | python | 23 | | 31 | linux | 66 | | 32 | python | 23 | | 33 | linux | 66 | | 34 | python | 23 | | 35 | linux | 66 | | 36 | python | 23 | | 37 | linux | 66 | | 38 | python | 23 | | 39 | linux | 66 | | 40 | python | 23 | | 41 | linux | 66 | | 42 | python | 23 | | 43 | linux | 66 | | 44 | python | 23 | | 45 | linux | 66 | | 46 | python | 23 | | 47 | linux | 66 | | 48 | python | 23 | | 49 | linux | 66 | | 50 | python | 23 | | 51 | linux | 66 | | 52 | python | 23 | | 53 | linux | 66 | | 54 | python | 23 | | 55 | linux | 66 | | 56 | python | 23 | | 57 | linux | 66 | | 58 | python | 23 | | 59 | linux | 66 | | 60 | python | 23 | | 61 | linux | 66 | | 62 | python | 23 | | 63 | linux | 66 | | 64 | python | 23 | | 65 | linux | 66 | | 66 | python | 23 | | 67 | linux | 66 | | 68 | python | 23 | | 69 | linux | 66 | | 70 | python | 23 | | 71 | linux | 66 | | 72 | python | 23 | | 73 | linux | 66 | | 74 | python | 23 | | 75 | linux | 66 | | 76 | python | 23 | | 77 | linux | 66 | | 78 | python | 23 | | 79 | linux | 66 | | 80 | python | 23 | | 81 | linux | 66 | | 82 | python | 23 | | 83 | linux | 66 | | 84 | python | 23 | | 85 | linux | 66 | | 86 | python | 23 | | 87 | linux | 66 | | 88 | python | 23 | | 89 | linux | 66 | | 90 | python | 23 | | 91 | linux | 66 | | 92 | python | 23 | | 93 | linux | 66 | | 94 | python | 23 | | 95 | Tom | 1year | | 96 | Jack | 2year | | 97 | Yaheng | winner | | 98 | Tom | 1year | | 99 | Jack | 2year | | 100 | Yaheng | winner | | 101 | Tom | 1year | | 102 | Jack | 2year | | 103 | Yaheng | winner | | 104 | Tom | 1year | | 105 | Jack | 2year | | 106 | Yaheng | winner | | 107 | Tom | 1year | | 108 | Jack | 2year | | 109 | Yaheng | winner | | 110 | Tom | 1year | | 111 | Jack | 2year | | 112 | Yaheng | winner | | 113 | Tom | 1year | | 114 | Jack | 2year | | 115 | Yaheng | winner | | 116 | Tom | 1year | | 117 | Jack | 2year | | 118 | Yaheng | winner | | 119 | Tom | 1year | | 120 | Jack | 2year | | 121 | Yaheng | winner | | 122 | Tom | 1year | | 123 | Jack | 2year | | 124 | Yaheng | winner | | 125 | Tom | 1year | | 126 | Jack | 2year | | 127 | Yaheng | winner | | 128 | Tom | 1year | | 129 | Jack | 2year | | 130 | Yaheng | winner | | 131 | linux | 66 | | 132 | python | 23 | | 133 | linux | 66 | | 134 | python | 23 | | 135 | linux | 66 | | 136 | python | 23 | | 137 | linux | 66 | | 138 | python | 23 | | 139 | linux | 66 | | 140 | python | 23 | | 141 | linux | 66 | | 142 | python | 23 | | 143 | linux | 66 | | 144 | python | 23 | | 145 | linux | 66 | | 146 | python | 23 | | 147 | linux | 66 | | 148 | python | 23 | | 149 | linux | 66 | | 150 | python | 23 | | 151 | linux | 66 | | 152 | python | 23 | | 153 | linux | 66 | | 154 | python | 23 | | 155 | linux | 66 | | 156 | python | 23 | | 157 | linux | 66 | | 158 | python | 23 | | 159 | linux | 66 |
现在我们使用inner join 查询
select * from class1 inner join class2 on class1.id=class2.id; #查询两个表中ID一样的 或者 select * from class1,class2 where class1.id=class2.id
执行结果:
select * from class1,class2 where class1.id=class2.id; +-----+--------+--------+-----+--------+--------+ | id | name | class | id | name | class | +-----+--------+--------+-----+--------+--------+ | 17 | linux | 66 | 17 | linux | 66 | | 18 | python | 23 | 18 | python | 23 | | 19 | linux | 66 | 19 | linux | 66 | | 20 | python | 23 | 20 | python | 23 | | 21 | linux | 66 | 21 | linux | 66 | | 22 | python | 23 | 22 | python | 23 | | 23 | linux | 66 | 23 | linux | 66 | mysql> select * from class1 inner join class2 on class1.id=class2.id; +-----+--------+--------+-----+--------+--------+ | id | name | class | id | name | class | +-----+--------+--------+-----+--------+--------+ | 17 | linux | 66 | 17 | linux | 66 | | 18 | python | 23 | 18 | python | 23 | | 19 | linux | 66 | 19 | linux | 66 | | 20 | python | 23 | 20 | python | 23 | | 21 | linux | 66 | 21 | linux | 66 | | 22 | python | 23 | 22 | python | 23 | | 23 | linux | 66 | 23 | linux | 66 | 由于表中的数据量大,所以只截取了一部分。由此看出inner join 是根据两张表或者 多张表满足一定关系求相关的交集。
left join 实践 left join 根据左边的表查询关系和右边的关系一样的,即使右边的表没有数据
mysql> select * from class1 left join class2 on class1.id=class2.id; +-----+--------+--------+------+--------+-------+ | id | name | class | id | name | class | +-----+--------+--------+------+--------+-------+ | 17 | linux | 66 | 17 | linux | 66 | | 18 | python | 23 | 18 | python | 23 | | 19 | linux | 66 | 19 | linux | 66 | | 20 | python | 23 | 20 | python | 23 | | 21 | linux | 66 | 21 | linux | 66 | | 22 | python | 23 | 22 | python | 23 | | 23 | linux | 66 | 23 | linux | 66 | | 24 | python | 23 | 24 | python | 23 | | 25 | linux | 66 | 25 | linux | 66 | | 26 | python | 23 | 26 | python | 23 | | 27 | linux | 66 | 27 | linux | 66 | | 28 | python | 23 | 28 | python | 23 | | 29 | linux | 66 | 29 | linux | 66 | | 30 | python | 23 | 30 | python | 23 | | 31 | linux | 66 | 31 | | | | 32 | python | 23 | 32 | | | | 33 | linux | 66 | 33 | | | | 34 | python | 23 | 34 | | | | 35 | linux | 66 | 35 | | | | 36 | python | 23 | 36 | | | | 37 | linux | 66 | 37 | | | 根据结果可以发现 右边的部分表是没有数据的但是还是可以匹配到,所以left join是根据左边的表 匹配相关内容。
right join 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。
select * from class1 right join class2 on class1.id=class2.id; 127 | Yaheng | winner | 127 | | | | 128 | Tom | 1year | 128 | | | | 129 | Jack | 2year | 129 | | | | 130 | Yaheng | winner | 130 | | | | NULL | NULL | NULL | 131 | | | | NULL | NULL | NULL | 132 | | | | NULL | NULL | NULL | 133 | | | | NULL | NULL | NULL | 134 | | | | NULL | NULL | NULL | 135 | | | | NULL | NULL | NULL | 136 | | | | NULL | NULL | NULL | 137 | | | | NULL | NULL | NULL | 138 | | | | NULL | NULL | NULL | 139 | | | | NULL | NULL | NULL | 140 | | | | NULL | NULL | NULL | 141 | | | | NULL | NULL | NULL | 142 | | | | NULL | NULL | NULL | 143 | | | | NULL | NULL | NULL | 144 | | | | NULL | NULL | NULL | 145 | | | | NULL | NULL | NULL | 146 | | | | NULL | NULL | NULL | 147 | | | | NULL | NULL | NULL | 148 | | | | NULL | NULL | NULL | 149 | | | | NULL | NULL | NULL | 150 | | | | NULL | NULL | NULL | 151 | | | | NULL | NULL | NULL | 152 | | | | NULL | NULL | NULL | 153 | | | | NULL | NULL | NULL | 154 | | | | NULL | NULL | NULL | 155 | | | | NULL | NULL | NULL | 156 | | | | NULL | NULL | NULL | 157 | | | | NULL | NULL | NULL | 158 | | | | NULL | NULL | NULL | 159 | | | | NULL | NULL | NULL | 160 | | | | NULL | NULL | NULL | 161 | | | | NULL | NULL | NULL | 162 | | | | NULL | NULL | NULL | 163 | | | | NULL | NULL | NULL | 164 | | | | NULL | NULL | NULL | 165 | | | | NULL | NULL | NULL | 166 | | | | NULL | NULL | NULL | 167 | | | | NULL | NULL | NULL | 168 | | | | NULL | NULL | NULL | 169 | | | | NULL | NULL | NULL | 170 | | | | NULL | NULL | NULL | 171 | | | | NULL | NULL | NULL | 172 | | | | NULL | NULL | NULL | 173 | | | | NULL | NULL | NULL | 174 | | | | NULL | NULL | NULL | 175 | | | | NULL | NULL | NULL | 176 | | | | NULL | NULL | NULL | 177 | | | | NULL | NULL | NULL | 178 | | | | NULL | NULL | NULL | 179 | | | | NULL | NULL | NULL | 180 | | | | NULL | NULL | NULL | 181 | | | | NULL | NULL | NULL | 182 | | | | NULL | NULL | NULL | 183 | | | | NULL | NULL | NULL | 184 | | | | NULL | NULL | NULL | 185 | | | | NULL | NULL | NULL | 186 | | | | NULL | NULL | NULL | 187 | | | | NULL | NULL | NULL | 188 | | | | NULL | NULL | NULL | 189 | | | | NULL | NULL | NULL | 190 | | | | NULL | NULL | NULL | 191 | | | | NULL | NULL | NULL | 192 | | | | NULL | NULL | NULL | 193 | | | | NULL | NULL | NULL | 194 | | | | NULL | NULL | NULL | 195 | | | | NULL | NULL | NULL | 196 | | | | NULL | NULL | NULL | 197 | | | | NULL | NULL | NULL | 198 | | | | NULL | NULL | NULL | 199 | | | | NULL | NULL | NULL | 200 | | | | NULL | NULL | NULL | 201 | | | | NULL | NULL | NULL | 202 | | | | NULL | NULL | NULL | 203 | | | | NULL | NULL | NULL | 204 | | | | NULL | NULL | NULL | 205 | | | | NULL | NULL | NULL | 206 | | | | NULL | NULL | NULL | 207 | | | | NULL | NULL | NULL | 208 | | | | NULL | NULL | NULL | 209 | | | | NULL | NULL | NULL | 210 | | | | NULL | NULL | NULL | 211 | | | | NULL | NULL | NULL | 212 | | | | NULL | NULL | NULL | 213 | | | | NULL | NULL | NULL | 214 | | | | NULL | NULL | NULL | 215 | | | | NULL | NULL | NULL | 216 | | | | NULL | NULL | NULL | 217 | | | | NULL | NULL | NULL | 218 | | | | NULL | NULL | NULL | 219 | | | | NULL | NULL | NULL | 220 | | | | NULL | NULL | NULL | 221 | | | | NULL | NULL | NULL | 222 | | | | NULL | NULL | NULL | 223 | | | | NULL | NULL | NULL | 224 | | | | NULL | NULL | NULL | 225 | | | | NULL | NULL | NULL | 226 | | | | NULL | NULL | NULL | 227 | | | | NULL | NULL | NULL | 228 | | | | NULL | NULL | NULL | 229 | | | | NULL | NULL | NULL | 230 | | | | NULL | NULL | NULL | 231 | | | | NULL | NULL | NULL | 232 | | | | NULL | NULL | NULL | 233 | | | | NULL | NULL | NULL | 234 | | | | NULL | NULL | NULL | 235 | | | | NULL | NULL | NULL | 236 | | | | NULL | NULL | NULL | 237 | | | | NULL | NULL | NULL | 238 | | | | NULL | NULL | NULL | 239 | | | | NULL | NULL | NULL | 240 | | | | NULL | NULL | NULL | 241 | | | | NULL | NULL | NULL | 242 | | | | NULL | NULL | NULL | 243 | | | | NULL | NULL | NULL | 244 | | | | NULL | NULL | NULL | 245 | | | | NULL | NULL | NULL | 246 | | | | NULL | NULL | NULL | 247 | | | | NULL | NULL | NULL | 248 | | | | NULL | NULL | NULL | 249 | | | | NULL | NULL | NULL | 250 | | | | NULL | NULL | NULL | 251 |
还有一种是full join,mysql不支持,但是我们可以将左连接和右连接结合,这样既可达到此类的效果
示例:
select * from class1 left join class2 on class1.id=class2.id UNION select * from class1 right join class2 on class1.id=class2.id; id | name | class | id | name | class | +------+--------+--------+------+--------+-------+ | 17 | linux | 66 | 17 | linux | 66 | | 18 | python | 23 | 18 | python | 23 | | 19 | linux | 66 | 19 | linux | 66 | | 20 | python | 23 | 20 | python | 23 | | 21 | linux | 66 | 21 | linux | 66 | | 22 | python | 23 | 22 | python | 23 | | 23 | linux | 66 | 23 | linux | 66 | | 24 | python | 23 | 24 | python | 23 | | 25 | linux | 66 | 25 | linux | 66 | | 26 | python | 23 | 26 | python | 23 | | 27 | linux | 66 | 27 | linux | 66 | | 28 | python | 23 | 28 | python | 23 | | 29 | linux | 66 | 29 | linux | 66 | | 30 | python | 23 | 30 | python | 23 | | 31 | linux | 66 | 31 | | | | 32 | python | 23 | 32 | | | | 33 | linux | 66 | 33 | | | | 34 | python | 23 | 34 | | | | 35 | linux | 66 | 35 | | | | 36 | python | 23 | 36 | | | | 37 | linux | 66 | 37 | | | | 38 | python | 23 | 38 | | | | 39 | linux | 66 | 39 | | | | 40 | python | 23 | 40 | | | | 41 | linux | 66 | 41 | | | | 42 | python | 23 | 42 | | | | 43 | linux | 66 | 43 | | | | 44 | python | 23 | 44 | | | | 45 | linux | 66 | 45 | | | | 46 | python | 23 | 46 | | | | 47 | linux | 66 | 47 | | | | 48 | python | 23 | 48 | | | | 49 | linux | 66 | 49 | | | | 50 | python | 23 | 50 | | | | 51 | linux | 66 | 51 | | | | 52 | python | 23 | 52 | | | | 53 | linux | 66 | 53 | | | | 54 | python | 23 | 54 | | | | 55 | linux | 66 | 55 | | | | 56 | python | 23 | 56 | | | | 57 | linux | 66 | 57 | | | | 58 | python | 23 | 58 | | | | 59 | linux | 66 | 59 | | | | 60 | python | 23 | 60 | | | | 61 | linux | 66 | 61 | | | | 62 | python | 23 | 62 | | | | 63 | linux | 66 | 63 | | | | 64 | python | 23 | 64 | | | | 65 | linux | 66 | 65 | | | | 66 | python | 23 | 66 | | | | 67 | linux | 66 | 67 | | | | 68 | python | 23 | 68 | | | | 69 | linux | 66 | 69 | | | | 70 | python | 23 | 70 | | | | 71 | linux | 66 | 71 | | | | 72 | python | 23 | 72 | | | | 73 | linux | 66 | 73 | | | | 74 | python | 23 | 74 | | | | 75 | linux | 66 | 75 | | | | 76 | python | 23 | 76 | | | | 77 | linux | 66 | 77 | | | | 78 | python | 23 | 78 | | | | 79 | linux | 66 | 79 | | | | 80 | python | 23 | 80 | | | | 81 | linux | 66 | 81 | | | | 82 | python | 23 | 82 | | | | 83 | linux | 66 | 83 | | | | 84 | python | 23 | 84 | | | | 85 | linux | 66 | 85 | | | | 86 | python | 23 | 86 | | | | 87 | linux | 66 | 87 | | | | 88 | python | 23 | 88 | | | | 89 | linux | 66 | 89 | | | | 90 | python | 23 | 90 | | | | 91 | linux | 66 | 91 | | | | 92 | python | 23 | 92 | | | | 93 | linux | 66 | 93 | | | | 94 | python | 23 | 94 | | | | 95 | Tom | 1year | 95 | | | | 96 | Jack | 2year | 96 | | | | 97 | Yaheng | winner | 97 | | | | 98 | Tom | 1year | 98 | | | | 99 | Jack | 2year | 99 | | | | 100 | Yaheng | winner | 100 | | | | 101 | Tom | 1year | 101 | | | | 102 | Jack | 2year | 102 | | | | 103 | Yaheng | winner | 103 | | | | 104 | Tom | 1year | 104 | | | | 105 | Jack | 2year | 105 | | | | 106 | Yaheng | winner | 106 | | | | 107 | Tom | 1year | 107 | | | | 108 | Jack | 2year | 108 | | | | 109 | Yaheng | winner | 109 | | | | 110 | Tom | 1year | 110 | | | | 111 | Jack | 2year | 111 | | | | 112 | Yaheng | winner | 112 | | | | 113 | Tom | 1year | 113 | | | | 114 | Jack | 2year | 114 | | | | 115 | Yaheng | winner | 115 | | | | 116 | Tom | 1year | 116 | | | | 117 | Jack | 2year | 117 | | | | 118 | Yaheng | winner | 118 | | | | 119 | Tom | 1year | 119 | | | | 120 | Jack | 2year | 120 | | | | 121 | Yaheng | winner | 121 | | | | 122 | Tom | 1year | 122 | | | | 123 | Jack | 2year | 123 | | | | 124 | Yaheng | winner | 124 | | | | 125 | Tom | 1year | 125 | | | | 126 | Jack | 2year | 126 | | | | 127 | Yaheng | winner | 127 | | | | 128 | Tom | 1year | 128 | | | | 129 | Jack | 2year | 129 | | | | 130 | Yaheng | winner | 130 | | | | NULL | NULL | NULL | 131 | | | | NULL | NULL | NULL | 132 | | | | NULL | NULL | NULL | 133 | | | | NULL | NULL | NULL | 134 | | | | NULL | NULL | NULL | 135 | | | | NULL | NULL | NULL | 136 | | | | NULL | NULL | NULL | 137 | | | | NULL | NULL | NULL | 138 | | | | NULL | NULL | NULL | 139 | | | | NULL | NULL | NULL | 140 | | | | NULL | NULL | NULL | 141 | | | | NULL | NULL | NULL | 142 | | | | NULL | NULL | NULL | 143 | | | | NULL | NULL | NULL | 144 | | | | NULL | NULL | NULL | 145 | | | | NULL | NULL | NULL | 146 | | | | NULL | NULL | NULL | 147 | | | | NULL | NULL | NULL | 148 | | | | NULL | NULL | NULL | 149 | | | | NULL | NULL | NULL | 150 | | | | NULL | NULL | NULL | 151 | | | | NULL | NULL | NULL | 152 | | | | NULL | NULL | NULL | 153 | | | | NULL | NULL | NULL | 154 | | | | NULL | NULL | NULL | 155 | | | | NULL | NULL | NULL | 156 | | | | NULL | NULL | NULL | 157 | | | | NULL | NULL | NULL | 158 | | | | NULL | NULL | NULL | 159 | | | | NULL | NULL | NULL | 160 | | | | NULL | NULL | NULL | 161 | | | | NULL | NULL | NULL | 162 | | | | NULL | NULL | NULL | 163 | | | | NULL | NULL | NULL | 164 | | | | NULL | NULL | NULL | 165 | | | | NULL | NULL | NULL | 166 | | | | NULL | NULL | NULL | 167 | | | | NULL | NULL | NULL | 168 | | | | NULL | NULL | NULL | 169 | | | | NULL | NULL | NULL | 170 | | | | NULL | NULL | NULL | 171 | | | | NULL | NULL | NULL | 172 | | | | NULL | NULL | NULL | 173 | | | | NULL | NULL | NULL | 174 | | | | NULL | NULL | NULL | 175 | | | | NULL | NULL | NULL | 176 | | | | NULL | NULL | NULL | 177 | | | | NULL | NULL | NULL | 178 | | | | NULL | NULL | NULL | 179 | | | | NULL | NULL | NULL | 180 | | | | NULL | NULL | NULL | 181 | | | | NULL | NULL | NULL | 182 | | | | NULL | NULL | NULL | 183 | | | | NULL | NULL | NULL | 184 | | | | NULL | NULL | NULL | 185 | | | | NULL | NULL | NULL | 186 | | | | NULL | NULL | NULL | 187 | | | | NULL | NULL | NULL | 188 | | | | NULL | NULL | NULL | 189 | | | | NULL | NULL | NULL | 190 | | | | NULL | NULL | NULL | 191 | | | | NULL | NULL | NULL | 192 | | | | NULL | NULL | NULL | 193 | | | | NULL | NULL | NULL | 194 | | | | NULL | NULL | NULL | 195 | | | | NULL | NULL | NULL | 196 | | | | NULL | NULL | NULL | 197 | | | | NULL | NULL | NULL | 198 | | | | NULL | NULL | NULL | 199 | | | | NULL | NULL | NULL | 200 | | | | NULL | NULL | NULL | 201 | | | | NULL | NULL | NULL | 202 | | | | NULL | NULL | NULL | 203 | | | | NULL | NULL | NULL | 204 | | | | NULL | NULL | NULL | 205 | |
本文出自 “坚持梦想” 博客,请务必保留此出处http://dreamlinux.blog.51cto.com/9079323/1907669
以上是关于Mysql多表left join关联查询全表扫描问题的主要内容,如果未能解决你的问题,请参考以下文章
SQL Fundamentals || 多表查询(内连接,外连接(LEFT|RIGHT|FULL OUTER JOIN),自身关联,ON,USING,集合运算UNION)