国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

Mysql中explain作用詳解

2024-07-24 12:50:58
字體:
來源:轉載
供稿:網友

一、MYSQL的索引

索引(Index):幫助Mysql高效獲取數據的一種數據結構。用于提高查找效率,可以比作字典??梢院唵卫斫鉃榕藕眯虻目焖俨檎业臄祿Y構。

索引的作用:便于查詢和排序(所以添加索引會影響where 語句與 order by 排序語句)。

在數據之外,數據庫還維護著滿足特定查找算法的數據結構,這些數據結構以某種方式引用數據。這樣就可以在這些數據結構上實現高級查找算法。這些數據結構就是索引。

索引本身也很大,不可能全部存儲在內存中,所以索引往往以索引文件的形式存儲在磁盤上。

我們平時所說的索引,如果沒有特別指明,一般都是B樹索引。(聚集索引、復合索引、前綴索引、唯一索引默認都是B+樹索引),除了B樹索引還有哈希索引。

優點:

A、提高數據檢索效率,降低數據庫的IO成本
B、通過索引列對數據進行排序,降低了數據排序成本,降低了CPU的消耗。

缺點:

A、索引也是一張表,該表保存了主鍵與索引字段,并指向實體表的記錄,所以索引也是占用空間的。
B、對表進行INSERT、UPDATE、DELETE操作時,MYSQL不僅會更新數據,還要保存一下索引文件每次更新添加了索引列字段的相應信息。

在實際的生產環境中我們需要逐步分析,優化建立最優的索引,并要優化我們的查詢條件。

索引的分類:

1、單值索引 一個索引只包含一個字段,一個表可以有多個單列索引。
2、唯一索引 索引列的值必須唯一,但允許有空值。
3、復合索引 一個索引包含多個列

一張表建議建立5個之內的索引

語法:

1、CREATE [UNIQUE] INDEX indexName ON myTable (columnName(length));
2、ALTER myTable Add [UNIQUE] INDEX [indexName] ON (columnName(length));

刪除:DROP INDEX [indexName] ON myTable;

查看: SHOW INDEX FROM table_name/G;

二、EXPLAIN 的作用

EXPLAIN :模擬Mysql優化器是如何執行SQL查詢語句的,從而知道Mysql是如何處理你的SQL語句的。分析你的查詢語句或是表結構的性能瓶頸。

mysql> explain select * from tb_user;+----+-------------+---------+------+---------------+------+---------+------+------+-------+| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |+----+-------------+---------+------+---------------+------+---------+------+------+-------+| 1 | SIMPLE | tb_user | ALL | NULL | NULL | NULL | NULL | 1 | NULL |+----+-------------+---------+------+---------------+------+---------+------+------+-------+

(一)id列:

(1)、id 相同執行順序由上到下

mysql> explain -> SELECT*FROM tb_order tb1 -> LEFT JOIN tb_product tb2 ON tb1.tb_product_id = tb2.id -> LEFT JOIN tb_user tb3 ON tb1.tb_user_id = tb3.id;+----+-------------+-------+--------+---------------+---------+---------+---------------------------+------+-------+| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |+----+-------------+-------+--------+---------------+---------+---------+---------------------------+------+-------+| 1 | SIMPLE | tb1 | ALL | NULL | NULL | NULL | NULL | 1 | NULL || 1 | SIMPLE | tb2 | eq_ref | PRIMARY | PRIMARY | 4 | product.tb1.tb_product_id | 1 | NULL || 1 | SIMPLE | tb3 | eq_ref | PRIMARY | PRIMARY | 4 | product.tb1.tb_user_id | 1 | NULL |+----+-------------+-------+--------+---------------+---------+---------+---------------------------+------+-------+
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东源县| 那坡县| 江城| 南皮县| 太康县| 柞水县| 天长市| 楚雄市| 蚌埠市| 云霄县| 英德市| 桑日县| 若尔盖县| 江孜县| 高密市| 阳原县| 迁西县| 江口县| 靖州| 林西县| 吉隆县| 盐山县| 塔城市| 瑞昌市| 江安县| 鄢陵县| 樟树市| 莲花县| 阿拉善左旗| 海城市| 罗平县| 蓬溪县| 陵川县| 边坝县| 富锦市| 吴江市| 儋州市| 冷水江市| 宜宾县| 沾化县| 大连市|