先來看一個栗子
EXPLAIN select * from employees where name > 'a';
如果用name索引查找數據需要遍歷name字段聯合索引樹,然后根據遍歷出來的主鍵值去主鍵索引樹里再去查出最終數據,成本比全表掃描還高。
可以用覆蓋索引優化,這樣只需要遍歷name字段的聯合索引樹就可以拿到所有的結果。
EXPLAIN select name,age,position from employees where name > 'a';
可以看到通過select出的字段是覆蓋索引,MySQL底層使用了索引優化。在看另一個case:
EXPLAIN select * from employees where name > 'zzz';
對于上面的這兩種 name>'a' 和 name>'zzz'的執行結果, mysql最終是否選擇走索引或者一張表涉及多個索引, mysql最終如何選擇索引,可以通過trace工具來一查究竟,開啟trace工具會影響mysql性能,所以只能臨時分析sql使用,用完之后需要立即關閉。
SET SESSION optimizer_trace="enabled=on",end_markers_in_json=on; --開啟traceSELECT * FROM employees WHERE name > 'a' ORDER BY position;SELECT * FROM information_schema.OPTIMIZER_TRACE;
看trace字段:
{ "steps": [ { "join_preparation": { --第一階段:SQl準備階段 "select#": 1, "steps": [ { "expanded_query": "/* select#1 */ select `employees`.`id` AS `id`,`employees`.`name` AS `name`,`employees`.`age` AS `age`,`employees`.`position` AS `position`,`employees`.`hire_time` AS `hire_time` from `employees` where (`employees`.`name` > 'a') order by `employees`.`position`" } ] /* steps */ } /* join_preparation */ }, { "join_optimization": { --第二階段:SQL優化階段 "select#": 1, "steps": [ { "condition_processing": { --條件處理 "condition": "WHERE", "original_condition": "(`employees`.`name` > 'a')", "steps": [ { "transformation": "equality_propagation", "resulting_condition": "(`employees`.`name` > 'a')" }, { "transformation": "constant_propagation", "resulting_condition": "(`employees`.`name` > 'a')" }, { "transformation": "trivial_condition_removal", "resulting_condition": "(`employees`.`name` > 'a')" } ] /* steps */ } /* condition_processing */ }, { "table_dependencies": [ --表依賴詳情 { "table": "`employees`", "row_may_be_null": false, "map_bit": 0, "depends_on_map_bits": [ ] /* depends_on_map_bits */ } ] /* table_dependencies */ }, { "ref_optimizer_key_uses": [ ] /* ref_optimizer_key_uses */ }, { "rows_estimation": [ --預估標的訪問成本 { "table": "`employees`", "range_analysis": { "table_scan": { --全表掃描情況 "rows": 3, --掃描行數 "cost": 3.7 --查詢成本 } /* table_scan */, "potential_range_indices": [ --查詢可能使用的索引 { "index": "PRIMARY", --主鍵索引 "usable": false, "cause": "not_applicable" }, { "index": "idx_name_age_position", --輔助索引 "usable": true, "key_parts": [ "name", "age", "position", "id" ] /* key_parts */ }, { "index": "idx_age", "usable": false, "cause": "not_applicable" } ] /* potential_range_indices */, "setup_range_conditions": [ ] /* setup_range_conditions */, "group_index_range": { "chosen": false, "cause": "not_group_by_or_distinct" } /* group_index_range */, "analyzing_range_alternatives": { 亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb 久久电影一区二区| xxxx性欧美| 欧美精品久久久久久久免费观看| 国产精品一区二区性色av| 欧美视频第一页| 国产日韩欧美视频在线| 中文字幕少妇一区二区三区| 欧美亚洲成人网| 欧美日韩国产成人高清视频| 26uuu另类亚洲欧美日本一| 一区二区三区回区在观看免费视频| 亚洲无av在线中文字幕| 久久精品99国产精品酒店日本| 亚洲第一在线视频| 少妇av一区二区三区| 欧美日韩午夜视频在线观看| 人妖精品videosex性欧美| 欧美日韩免费区域视频在线观看| 国产日韩欧美在线播放| 一区二区在线视频播放| 欧洲亚洲女同hd| 伊人久久精品视频| 国产精品极品尤物在线观看| 精品福利在线视频| 国产欧美精品在线播放| 国产精品高潮粉嫩av| 亚洲男女性事视频| 亚洲人成电影在线观看天堂色| 成人在线视频福利| zzijzzij亚洲日本成熟少妇| 欧美小视频在线| 麻豆国产精品va在线观看不卡| 欧美日韩国产精品专区| 国产福利成人在线| 国产女人精品视频| 精品久久久国产精品999| 久久久久久com| 国产精品爱啪在线线免费观看| 欧美在线观看日本一区| 精品亚洲一区二区| 久久精品视频99| 国产精品中文久久久久久久| 日韩欧美成人区| 在线免费观看羞羞视频一区二区| 国产精品99导航| 久久久久99精品久久久久| 欧美激情欧美激情在线五月| 国产精品视频26uuu| 亚洲人成啪啪网站| 欧美另类高清videos| 好吊成人免视频| 国产精品久久久久久久久久久久| 在线亚洲国产精品网| 最近2019年日本中文免费字幕| 久久99久久亚洲国产| 黄色成人av在线| 亚洲欧美制服中文字幕| 日本一区二区在线免费播放| 久久好看免费视频| 久久久久久久影院| 亚洲欧美一区二区三区四区| 亚洲国产精彩中文乱码av| 国产99视频精品免视看7| 国产日韩在线精品av| 亚洲在线视频福利| 91免费看国产| 国产大片精品免费永久看nba| 久久国产精品免费视频| 97欧美精品一区二区三区| 亚洲最大福利视频| 亚洲欧美制服综合另类| 国产精品久久久久久久一区探花| 亚洲成av人乱码色午夜| 国产成人在线一区二区| 美女啪啪无遮挡免费久久网站| 疯狂蹂躏欧美一区二区精品| 国模私拍一区二区三区| 日韩欧美在线免费观看| 九九久久久久99精品| 久久免费精品日本久久中文字幕| 大荫蒂欧美视频另类xxxx| 国产精品久久久久久久电影| 精品国内自产拍在线观看| 国产欧美中文字幕| 91免费观看网站| 91高潮精品免费porn| 久久精品99久久香蕉国产色戒| 日韩精品极品毛片系列视频| 久久精品国产69国产精品亚洲| 成人黄色激情网| 97在线免费观看视频| 另类专区欧美制服同性| 亚洲乱码国产乱码精品精| 日韩av免费看网站| 欧美成人精品在线| 欧美人交a欧美精品| 亚洲视频综合网| 欧美电影免费观看大全| 亚洲第一区第一页| 亚洲国产美女久久久久| 日韩欧美亚洲综合| 中日韩美女免费视频网站在线观看| 久久香蕉国产线看观看网| 成人黄色av网站| 不卡av电影院| 中文字幕亚洲图片| 亚洲欧洲午夜一线一品| 日韩精品免费在线视频| 国产精品欧美亚洲777777| 国产精品视频地址| 69视频在线播放| 久久久人成影片一区二区三区观看| 色婷婷久久一区二区| 色吧影院999| 中文字幕欧美在线| 久久久亚洲影院| 日韩有码视频在线| 亚洲色在线视频| 欧美精品免费看| yellow中文字幕久久| 日韩精品在线观看视频| 亚洲最大的成人网| 亚洲视频一区二区| 国产精品高清免费在线观看| 成人av在线天堂| 国产精品大陆在线观看| 亚洲国产成人爱av在线播放| 综合国产在线观看| 狠狠躁夜夜躁人人躁婷婷91| 亚洲自拍偷拍一区| 成人黄色在线播放| 国产色视频一区| 久久精品国产欧美亚洲人人爽| 欧美电影免费播放| 91精品免费视频| 欧美性videos高清精品| 亚洲第一二三四五区| 一级做a爰片久久毛片美女图片| 日日狠狠久久偷偷四色综合免费| 日韩av一卡二卡| 97视频国产在线| 欧美激情图片区| 国产97在线亚洲| 亚洲激情视频在线| 26uuu亚洲伊人春色| 国产主播精品在线| 亚洲成人国产精品| 97视频在线观看成人| 成人激情免费在线| 国产成人精品综合| 日韩欧美一区二区三区| 欧美一级视频免费在线观看| 中文字幕国产精品久久| 久久av.com| 亚洲一区免费网站| 国产午夜精品一区二区三区| 国产成人+综合亚洲+天堂| 国产成人精品a视频一区www| 亚洲国产精品成人av| 亚洲va欧美va国产综合久久| 国产精品久久久久77777| 欧美日韩午夜视频在线观看| 成人动漫网站在线观看| 97精品欧美一区二区三区|