http://www.web008.net

关联查询

MySQL关联合检查询的三种写法:

SELECT * FROM film JOIN film_actor ON (film.film_id = film_actor.film_id);
SELECT * FROM film JOIN film_actor USING (film_id卡塔尔(英语:State of Qatar);  --当五个要关联表的字段名是生机勃勃律时,能够应用USING(卡塔尔(قطر‎
SELECT * FROM film, film_actor WHERE film.film_id = film_actor.film_id;

优化关联合检查询:

  • 保证ON或然USING子句中的列上有目录。在创制索引的时候就要思考到事关顺序。日常的话,除非有其余轮理货公司由,不然只需求在提到顺序中的第2个表的应和列上创造索引。比方当表film和表film_actor用列film_id关联的时候。若是优化器的涉及顺序是film_actor、film 那么就无需在film_actor表的film_id列上加索引了。
  • 确保别的的GROUP BY 和OMuranoDE讴歌RDX BY 中的表明式只关乎到四个表中的列,那样MySQL才有十分的大概率使用索引来优化那些进程。
  • 当进级MySQL的时候须要专一:关联语法、运算符优先级等其余恐怕会爆发变化的地点。因为原先的是广阔关联的地点大概会化为笛Carl积,差异门类的涉嫌恐怕会扭转分裂的结果等。

 参考:

[1]Baron Schwartz等 著,宁海元等 译 ;《高性能MySQL》(第3版); 电子工业出版社 ,二〇一一

[2]博客,

郑重声明:本文版权归美高梅163888所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。