兩張表test_a,test_b結構和索引資訊如下,通過主鍵inner join關聯時,外表為什么不走索引呢?
create table test_a (
id int,
birthday date not null,
comment varchar (50) not null,
primary key test_a_pk (id),
index test_a_index (birthday)
) engine = innodb default charset = utf8;
create table test_b (
id int,
salary double not null,
struct varchar (50) not null,
primary key test_b_pk (id),
index test_b_index (salary)
) engine = innodb default charset = utf8;
mysql> show index from test_a\G
*************************** 1. row ***************************
Table: test_a
Non_unique: 0
Key_name: PRIMARY
Seq_in_index: 1
Column_name: id
Collation: A
Cardinality: 5375084
Sub_part: NULL
Packed: NULL
Null:
Index_type: BTREE
Comment:
Index_comment:
*************************** 2. row ***************************
Table: test_a
Non_unique: 1
Key_name: test_a_index
Seq_in_index: 1
Column_name: birthday
Collation: A
Cardinality: 2728
Sub_part: NULL
Packed: NULL
Null:
Index_type: BTREE
Comment:
Index_comment:
2 rows in set (0.00 sec)
mysql> show index from test_b\G
*************************** 1. row ***************************
Table: test_b
Non_unique: 0
Key_name: PRIMARY
Seq_in_index: 1
Column_name: id
Collation: A
Cardinality: 5291561
Sub_part: NULL
Packed: NULL
Null:
Index_type: BTREE
Comment:
Index_comment:
*************************** 2. row ***************************
Table: test_b
Non_unique: 1
Key_name: test_b_index
Seq_in_index: 1
Column_name: salary
Collation: A
Cardinality: 943640
Sub_part: NULL
Packed: NULL
Null:
Index_type: BTREE
Comment:
Index_comment:
2 rows in set (0.00 sec)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/133837.html
標籤:MySQL
上一篇:MySQL主從搭建時遇到的問題
下一篇:sql多行轉列
