1、檢視表結構
mysql> show create table emp\G
*************************** 1. row ***************************
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<code>Table: emp</code>
<code>Create Table: CREATE TABLE `emp` (</code>
<code> </code><code>`empno` </code><code>int</code><code>(</code><code>4</code><code>) NOT NULL DEFAULT </code><code>'0'</code><code>,</code>
<code> </code><code>`ENAME` varchar(</code><code>10</code><code>) DEFAULT NULL,</code>
<code> </code><code>`JOB` varchar(</code><code>9</code><code>) DEFAULT NULL,</code>
<code> </code><code>`MGR` </code><code>int</code><code>(</code><code>4</code><code>) DEFAULT NULL,</code>
<code> </code><code>`HIRE` date DEFAULT NULL,</code>
<code> </code><code>`SAL` </code><code>int</code><code>(</code><code>7</code><code>) DEFAULT NULL,</code>
<code> </code><code>`COMM` </code><code>int</code><code>(</code><code>7</code><code>) DEFAULT NULL,</code>
<code> </code><code>`deptno` </code><code>int</code><code>(</code><code>2</code><code>) DEFAULT NULL,</code>
<code> </code><code>PRIMARY KEY (`empno`),</code>
<code> </code><code>KEY `deptno` (`deptno`),</code>
<code> </code><code>CONSTRAINT `emp_ibfk_1` FOREIGN KEY (`deptno`) REFERENCES `dept` (`deptNO`)</code>
<code>) ENGINE=InnoDB DEFAULT CHARSET=latin1</code>
<code>1</code> <code>row in set (</code><code>0.00</code> <code>sec)</code>
---在此表中empno 為主鍵,在deptno上建有索引
mysql> select * from emp;
16
17
18
19
<code>+-------+--------+-----------+------+------------+------+------+--------+</code>
<code>| empno | ENAME | JOB | MGR | HIRE | SAL | COMM | deptno |</code>
<code>| </code><code>7369</code> <code>| SMITH | CLERK | </code><code>7902</code> <code>| </code><code>1980</code><code>-12</code><code>-17</code> <code>| </code><code>800</code> <code>| NULL | </code><code>20</code> <code>|</code>
<code>| </code><code>7499</code> <code>| ALLEN | SALESMAN | </code><code>7698</code> <code>| </code><code>1981</code><code>-02</code><code>-20</code> <code>| </code><code>1600</code> <code>| </code><code>300</code> <code>| </code><code>30</code> <code>|</code>
<code>| </code><code>7521</code> <code>| WARD | SALESMAN | </code><code>7698</code> <code>| </code><code>1981</code><code>-02</code><code>-22</code> <code>| </code><code>1250</code> <code>| </code><code>500</code> <code>| </code><code>30</code> <code>|</code>
<code>| </code><code>7566</code> <code>| JONES | MANAGER | </code><code>7839</code> <code>| </code><code>1981</code><code>-04</code><code>-02</code> <code>| </code><code>2975</code> <code>| NULL | </code><code>20</code> <code>|</code>
<code>| </code><code>7654</code> <code>| MARTIN | SALESMAN | </code><code>7698</code> <code>| </code><code>1981</code><code>-09</code><code>-28</code> <code>| </code><code>1250</code> <code>| </code><code>1400</code> <code>| </code><code>30</code> <code>|</code>
<code>| </code><code>7698</code> <code>| BLAKE | MANAGER | </code><code>7839</code> <code>| </code><code>1981</code><code>-05</code><code>-01</code> <code>| </code><code>2850</code> <code>| NULL | </code><code>30</code> <code>|</code>
<code>| </code><code>7782</code> <code>| CLARK | MANAGER | </code><code>7839</code> <code>| </code><code>1981</code><code>-06</code><code>-09</code> <code>| </code><code>2450</code> <code>| NULL | </code><code>10</code> <code>|</code>
<code>| </code><code>7788</code> <code>| SCOTT | ANALYST | </code><code>7566</code> <code>| </code><code>1987</code><code>-07</code><code>-13</code> <code>| </code><code>3000</code> <code>| NULL | </code><code>10</code> <code>|</code>
<code>| </code><code>7839</code> <code>| KING | PRESIDENT | NULL | </code><code>1981</code><code>-11</code><code>-17</code> <code>| </code><code>5000</code> <code>| NULL | </code><code>10</code> <code>|</code>
<code>| </code><code>7844</code> <code>| TURNER | SALESMAN | </code><code>7698</code> <code>| </code><code>1981</code><code>-09</code><code>-08</code> <code>| </code><code>1500</code> <code>| </code><code>0</code> <code>| </code><code>30</code> <code>|</code>
<code>| </code><code>7876</code> <code>| ADAMS | CLERK | </code><code>7788</code> <code>| </code><code>1987</code><code>-06</code><code>-13</code> <code>| </code><code>1100</code> <code>| NULL | </code><code>20</code> <code>|</code>
<code>| </code><code>7900</code> <code>| JAMES | CLERK | </code><code>7698</code> <code>| </code><code>1981</code><code>-12</code><code>-03</code> <code>| </code><code>950</code> <code>| NULL | </code><code>30</code> <code>|</code>
<code>| </code><code>7902</code> <code>| FORD | ANALYST | </code><code>7566</code> <code>| </code><code>1981</code><code>-12</code><code>-03</code> <code>| </code><code>3000</code> <code>| NULL | </code><code>20</code> <code>|</code>
<code>| </code><code>7934</code> <code>| MILLER | CLERK | </code><code>7782</code> <code>| </code><code>1982</code><code>-01</code><code>-23</code> <code>| </code><code>1300</code> <code>| NULL | </code><code>10</code> <code>|</code>
<code>14</code> <code>rows </code><code>in</code> <code>set (</code><code>0.00</code> <code>sec)</code>
1)全表掃描查詢
mysql> explain select * from emp \G
<code> </code><code>id: </code><code>1</code>
<code> </code><code>select_type: SIMPLE</code>
<code> </code><code>table: emp</code>
<code> </code><code>type: ALL</code>
<code>possible_keys: NULL</code>
<code> </code><code>key: NULL</code>
<code> </code><code>key_len: NULL</code>
<code> </code><code>ref: NULL</code>
<code> </code><code>rows: </code><code>14</code>
<code> </code><code>Extra: NULL</code>
<code>1</code> <code>row </code><code>in</code> <code>set (</code><code>0.00</code> <code>sec)</code>
2、通過主鍵查詢
mysql> explain select * from emp where empno=7788\G
<code> </code><code>id: </code><code>1</code>
<code> </code><code>type: const</code>
<code>possible_keys: PRIMARY</code>
<code> </code><code>key: PRIMARY</code>
<code> </code><code>key_len: </code><code>4</code>
<code> </code><code>ref: const</code>
<code> </code><code>rows: </code><code>1</code>
<code>1</code> <code>row </code><code>in</code> <code>set (</code><code>0.02</code> <code>sec)</code>
3)忽略主鍵索引
mysql> explain select * from emp ignore index(pri) where empno=7788\G
<code> </code><code>id: </code><code>1</code>
<code> </code><code>Extra: Using </code><code>where</code>
4)強制使用主鍵
mysql> explain select * from emp force index(pri) where empno=7788\G
5)通過索引deptno查詢
mysql> explain select * from emp where deptno=10\G
*************************** 1. row ***************************
<code>id: </code><code>1</code>
<code> </code><code>type: ref</code>
<code>possible_keys: deptno</code>
<code> </code><code>key: deptno</code>
<code> </code><code>key_len: </code><code>5</code>
<code> </code><code>rows: </code><code>4</code>
6)忽略索引的使用
mysql> explain select * from emp ignore index(deptno) where deptno=10\G
*************************** 1. row ***************************
<code> </code><code>Extra: Using where</code>
7)強制使用索引
mysql> explain select * from emp force index (deptno) where deptno=10\G
本文轉自 客居天涯 51CTO部落格,原文連結:http://blog.51cto.com/tiany/1726065,如需轉載請自行聯系原作者