好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > MySQL 各個索引的使用詳解

MySQL 各個索引的使用詳解

熱門標簽:地圖標注被騙三百怎么辦 北京人工外呼系統價錢 常州電銷外呼系統一般多少錢 房產智能外呼系統品牌 天智外呼系統 福州呼叫中心外呼系統哪家好 沃克斯電梯外呼線路圖 云南語音外呼系統平臺 400電話鄭州申請

一. 慢查詢日志

1.1 MySQL的日志類型

日志用于記錄數據庫的運行情況,以及用戶對數據庫執行的各類操作。當數據庫發生故障時,可以根據日志分析解決問題,從而對數據庫進行恢復。

1.2 認識慢查詢日志

慢查詢日志用于記錄MySQL數據庫中響應時間超過指定閾值的語句。慢查詢日志通常也被稱之為慢日志,因為它不僅僅只針對SELECT語句,像INSERT、UPDATE、DELETE等語句,只要響應時間超過所設定閾值都會記錄在慢查詢日志中。

1.3 如何開啟慢查詢日志命令

慢查詢日志可以通過命令臨時設置,也可以修改配置文件永久設置

查看是否開啟慢查詢日志

show variables like 'slow%';

臨時開啟慢查詢日志

set slow_query_log='ON';
set long_query_time=1;

慢查詢日志文件所在位置

show variables like '%datadir%';

二. 查詢分析器——EXPLAIN

 2.1 explain簡介

explain命令可以查看SQL語句的執行計劃。當explain與SQL語句一起使用時,MySQL將顯示來自優化器的有關語句執行計劃的信息。也就是說,MySQL解釋了它將如何處理語句,包括有關如何聯接表以及以何種順序聯接表的信息。

explain能做什么?

  • 分析出表的讀取順序
  • 數據讀取操作的操作類型
  • 哪些索引可以使用
  • 哪些索引被實際使用
  • 表之間的引用
  • 每張表有多少行被優化器查詢

 2.2 explain的使用

explain的使用很簡單,只需要在SQL語句之前加上explain命令即可,除select語句外,explain也能分析insert、update和delete語句。

命令解釋:

三. 索引的基本使用

3.1 什么是索引

索引是一種特殊的數據結構,類似于圖書的目錄,它能夠極大地提升數據庫的查詢效率。如果沒有索引,在查詢數據時必須掃描表中的所有記錄才能找出符合條件的記錄,這種全表掃描的查詢效率非常低

總結:提高查詢效率,就好像垃圾分類一樣,把一樣效果的東西放在一起,找的時候好找。

3.2 常見的索引種類

索引是對數據庫表中一列或多列的值進行排序的一種結構,使用索引可快速訪問數據庫表中的特定記錄。

數據庫的索引好比一本書的目錄,能夠加快數據庫的查詢速度;索引是快速搜索的關鍵,如果不加索引,查找任何一條特定的數據都會進行一次全表掃描

3.3 索引的使用

創建索引

創建普通索引

CREATE INDEX indexName ON tableName(columnName(length));

創建唯一索引

CREATE UNIQUE INDEX indexName ON tableName(columnName(length));

創建復合索引

CREATE INDEX indexName ON tableName(columnName1, columnName2, …);

刪除索引

DROP INDEX [indexName] ON tableName;

查看索引

SHOW INDEX FROM tableName;

3.4 索引的實戰經驗

四. 復合索引前導列特性

復合索引前導列特性:在MySQL中,如果創建了復合索引(name, salary, dept),就相當于創建了 (name, salary, dept)、(name, salary)和(name) 三個索引,因此在創建復合索引時應該將最常用作查詢條件的列放在最左邊依次遞減

列:

未使用索引

select * from employee where salary=8800;
select * from employee where dept='部門A';
select * from employee where salary=8800 and dept='部門A';

使用索引:前面都帶有name

select * from employee where name='liufeng';
select * from employee where name='liufeng' and salary=8800;
select * from employee where name='liufeng' and salary=8800 and dept='部門A';

五. 覆蓋索引

5.1 什么是覆蓋索引

覆蓋索引又稱之為索引覆蓋,即select的數據列只從索引中就能得到,不必讀取數據行,也就是只需掃描索引就可以得到查詢結果。

關于覆蓋索引的幾點說明

  1. 使用覆蓋索引,只需要從索引中就能檢索到需要的數據,而不要再掃描數據表;
  2. 索引的體量往往要比數據表小很多,因此只讀取索引速度會非常快,也會極大減少數據訪問量;
  3. MySQL的查詢優化器會在執行查詢前判斷,是否有一個索引可以覆蓋所有的查詢列;
  4. 并非所有類型的索引都可以作為覆蓋索引,覆蓋索引必須要存儲索引列的值。像哈希索引、空間索引、全
  5. 文索引等并不會真正存儲索引列的值。

 5.2 如何判斷使用了覆蓋索引

當一個查詢使用了覆蓋索引,在查詢分析器EXPLAINExtra列可以看到“Using index”

到此這篇關于MySQL 各個索引的使用詳解的文章就介紹到這了,更多相關MySQL 索引使用內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

本人博客:https://blog.csdn.net/weixin_46654114

您可能感興趣的文章:
  • mysql 添加索引 mysql 如何創建索引
  • MySQL索引類型總結和使用技巧以及注意事項
  • MySQL查看、創建和刪除索引的方法
  • mysql性能優化之索引優化
  • 基于mysql全文索引的深入理解
  • Mysql中的Btree與Hash索引比較
  • MySQL 索引分析和優化
  • Mysql使用索引的正確方法及索引原理詳解

標簽:鹽城 沈陽 珠海 沈陽 移動 黔東 拉薩 徐州

巨人網絡通訊聲明:本文標題《MySQL 各個索引的使用詳解》,本文關鍵詞  MySQL,各個,索引,的,使用,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL 各個索引的使用詳解》相關的同類信息!
  • 本頁收集關于MySQL 各個索引的使用詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 91视频网页| 乖女好紧H下药第19章| 湿身影院| 欧美特黄a级猛片a级| 国产成人精品一区二三区熟女| 国产又黄又粗又爽又色的视频| 美女黄18| 另类在线视频| 国产AV日产AⅤ欧美AⅤ蜜臀| 扒开女同学下面粉嫩视频| 于春日热吻| 亚洲精品无码AV在线观看睡美人| 少妇把腿扒开让我爽爽视频| 一边摸一边亲扒衣视频| 色777| 国内第一永久免费福利视频| 黄蓉辣文| 亚洲国产网站| 久久亚洲精品无码AV丝瓜| 99精品国产成人一区二区在线| 丝袜 亚洲 另类 国产 制服| 啦啦啦观看免费完整4版高清| 闺蜜老公(结局1v1)| 蕾丝视频软件下载| 13一14学生A片| 成人看的午夜免费毛片| 口述他拿舌头进去我下面好爽| 老头玩小嫩奶视频在线观看| 精品在线播放| 乱Lun合集3-第12部分| 色妺妺av爽爽影院蜜臀大桥未久| 日本一产区二产区sm欧美| 阿尔山市| 痛痛痛痛痛痛痛痛痛好快| 欧美嫩草AV永久无码精品无码| 色综合手机在线| 翁与莹雕花大床| koreanfreepronvide| 好爽?好紧?老师别夹视频| 客厅玩朋友娇妻HD完整版视频 | 国产在线视精品麻豆|