56,677
社区成员
发帖
与我相关
我的任务
分享
CREATE TABLE `ord1` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`or_id` int(11) DEFAULT NULL,
`name` varchar(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB
;CREATE TABLE `ord2` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB
;select ord1.id,ord1.name,ord2.id,ord2.name from ord1 inner join ord2 on ord1.or_id =ord2.id
create index idx_or_id on ord1(or_id)
mysql> explain select ord1.id,ord1.name,ord2.id,ord2.name from ord1 inner join o
rd2 on ord1.or_id =ord2.id\G;
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: ord1
type: ALL
possible_keys: idx_or_id
key: NULL
key_len: NULL
ref: NULL
rows: 3
Extra:
*************************** 2. row ***************************
id: 1
select_type: SIMPLE
table: ord2
type: ALL
possible_keys: PRIMARY
key: NULL
key_len: NULL
ref: NULL
rows: 5
Extra: Using where; Using join buffer
2 rows in set (0.00 sec)
ERROR:
No query specified
create index idx_or_id on ord1(or_id)
explain select ord1.id,ord1.name,ord2.id,ord2.name from ord1 inner join o
rd2 on ord1.or_id =ord2.id
mysql> show index from ord1 \G;
*************************** 1. row ***************************
Table: ord1
Non_unique: 0
Key_name: PRIMARY
Seq_in_index: 1
Column_name: id
Collation: A
Cardinality: 3
Sub_part: NULL
Packed: NULL
Null:
Index_type: BTREE
Comment:
*************************** 2. row ***************************
Table: ord1
Non_unique: 1
Key_name: idx_or_id
Seq_in_index: 1
Column_name: or_id
Collation: A
Cardinality: 3
Sub_part: NULL
Packed: NULL
Null:
Index_type: BTREE
Comment:
2 rows in set (0.00 sec)
ord2:
mysql> show index from ord2 \G;
*************************** 1. row ***************************
Table: ord2
Non_unique: 0
Key_name: PRIMARY
Seq_in_index: 1
Column_name: id
Collation: A
Cardinality: 2
Sub_part: NULL
Packed: NULL
Null:
Index_type: BTREE
Comment:
1 row in set (0.00 sec)