WEB开发网
开发学院数据库MySQL MySQL Explain详解 阅读

MySQL Explain详解

 2008-09-03 11:09:02 来源:WEB开发网   
核心提示: (3). eq_ref对于每个来自于前面的表的行组合,从该表中读取一行,MySQL Explain详解(7),这可能是最好的联接类型,除了const类型,它用在一个索引的所有部分被联接使用并且索引是UNIQUE或PRIMARY KEY,eq_ref可以用于使用= 操作符比较的带索引的列

(3). eq_ref

对于每个来自于前面的表的行组合,从该表中读取一行。这可能是最好的联接类型,除了const类型。它用在一个索引的所有部分被联接使用并且索引是UNIQUE或PRIMARY KEY。

eq_ref可以用于使用= 操作符比较的带索引的列。比较值可以为常量或一个使用在该表前面所读取的表的列的表达式。

在下面的例子中,MySQL可以使用eq_ref联接来处理ref_tables:

select*FROMref_table,other_table 
  whereref_table.key_column=other_table.column; 
  select*FROMref_table,other_table 
  whereref_table.key_column_part1=other_table.column 
  ANDref_table.key_column_part2=1;

例如

mysql>createuniqueindexidx_t3_idont3(id); 
  QueryOK,1000rowsaffected(0.03sec) 
  Records:1000Duplicates:0Warnings:0 
  mysql>explainselect*fromt3,t4wheret3.id=t4.accountid; 
  +----+-------------+-------+--------+-------------------+-----------+---------+----------------------+------+-------+ 
  |id|select_type|table|type|possible_keys|key|key_len|ref|rows|Extra| 
  +----+-------------+-------+--------+-------------------+-----------+---------+----------------------+------+-------+ 
  |1|SIMPLE|t4|ALL|NULL|NULL|NULL|NULL|1000|| 
  |1|SIMPLE|t3|eq_ref|PRIMARY,idx_t3_id|idx_t3_id|4|dbatest.t4.accountid|1|| 
  +----+-------------+-------+--------+-------------------+-----------+---------+----------------------+------+-------+

(4).ref

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:MySQL Explain 详解

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接