欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL與PHP的基礎與應用專題之索引

 更新時間:2022年02月22日 14:56:45   作者:我是小白呀  
MySQL是一個關系型數據庫管理系統(tǒng),由瑞典MySQL?AB?公司開發(fā),屬于?Oracle?旗下產品。MySQL?是最流行的關系型數據庫管理系統(tǒng)之一,本系列將帶你掌握php與mysql的基礎應用,本篇從索引開始

概述

從今天開始, 小白我將帶領大家一起來補充一下 數據庫的知識.

索引

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

索引的種類描述
普通索引最基本的索引, 沒有任何限制, 僅加速查詢
唯一索引索引列的值必須唯一, 但允許有空值
主鍵索引一種特殊的唯一索引, 不允許有空值
復合索引兩個或多個列上的索引被稱作符合索引
全文索引對文本內容進行分詞索引

格式:

CREATE INDEX 索引名 ON 表名(列名)

查詢分析器 EXPLAIN

EXPLAIN 命令可以查看 SQL 語句的執(zhí)行計劃. 當 EXPLAIN 與 SQL 語句一起使用時, MySQL 將顯示來自優(yōu)化器的有關語句執(zhí)行計劃的信息. MySQL 解釋了它將如何處理語句, 包括有關如何連接表以及以何種順序連接表的信息.

查詢分析器的用途:

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

結果解析:

參數描述
id執(zhí)行 SELECT 或操作表的順序
select_type查詢的類型, 如 SIMPLE, PRIMARY, SUBQUERY, DERIVED, UNION 等
table當前行使用的表名
partitions匹配的分區(qū)
type連接類型
possibile_keys可能使用的索引
key實際使用的索引, NULL 表示未使用索引
key_len查詢中使用的索引長度
ref列與索引的比較
rows掃描的行數
filtered選取的行數占掃描的行數的百分比
extra其他信息

格式:

EXPLAIN SQL 語句

例子:

MySQL 日志

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

日志描述
重做日志 (Redo Log)重做日志是一種物理格式的日志, 記錄的是物理數據頁面修改的信息
回滾日志 (Undo Log)回滾日志是一種邏輯格式的日志, 在執(zhí)行 Undo 的時候. 僅僅是將數據從邏輯上恢復至事務之前的狀態(tài)
二進制日志 (Bin Log)二進制日志是一種邏輯格式的日志, 以二進制文件的形式記錄了數據庫中的操作, 但不記錄查詢語句
錯誤日志 (Error Log)錯誤日志記錄著 Mysqld 啟動和停止, 以及服務器在運行過程中發(fā)生的錯誤的關信息
慢查詢日志 (Slow Query Log)慢查詢日志記錄執(zhí)行時間過長和沒有使用索引的查詢語句
一般查詢日志 (General Log)記錄了服務器收到的每一個查詢或是命令, 無論這些查詢是命令是否正確甚至是否包含語法錯誤
中繼日志 (Relay Log)中級日志類似二進制, 可用于復制架構中, 使從服務器和主服務器的數據保持一致

慢查詢日志

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

參數描述
slow_query_log是否開啟慢查詢日志, 1 表示開啟, 0 表示關閉
slow_query_log_file慢查詢日志存儲路徑, 可選
long_query_time閾值, 當 SQL 語句的響應時間超過閾值就會被記錄到日志中
log_queries_ not_using_indexes未使用索引的查詢也被記錄到慢查詢中, 可選
log_output日志存儲方式, 默認為 FILE
log_output=‘FILE’ 表示將日志存入文件
log_output=‘TBALE’ 表示將日志存入數據庫
log_output=‘FILE, TABLE’ 表示同時將日志存入文件和數據庫

開啟慢查詢:

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

到此這篇關于MySQL與PHP的基礎與應用專題之索引的文章就介紹到這了,更多相關MySQL 索引內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • MySQL數據庫運維之數據恢復的方法

    MySQL數據庫運維之數據恢復的方法

    本篇文章主要介紹了MySQL數據庫運維之數據恢復的方法,此處總結一下恢復方案,并結合數據庫的二進制日志做下數據恢復的示范。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • MySQL從MyISAM轉換成InnoDB錯誤與常用解決辦法

    MySQL從MyISAM轉換成InnoDB錯誤與常用解決辦法

    由于一些程序的要求,需要MyISAM數據引擎或InnoDB,下面是具體的解決方法,經測試偶爾會出現(xiàn)一些問題。
    2011-05-05
  • Mysql using使用詳解

    Mysql using使用詳解

    本文主要介紹了Mysql using使用詳解,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • MySQL數據類型DECIMAL用法詳解

    MySQL數據類型DECIMAL用法詳解

    這篇文章主要介紹了MySQL數據類型DECIMAL用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • idea連接mysql數據庫失敗的幾種解決方案

    idea連接mysql數據庫失敗的幾種解決方案

    我們在學習Mybatis時需要連接Mysql數據庫,使用IDEA無法連接mysql數據庫,下面這篇文章主要給大家介紹了關于idea連接mysql數據庫失敗的幾種解決方案,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • MySQL刪除有外鍵約束的表數據方法介紹

    MySQL刪除有外鍵約束的表數據方法介紹

    這篇文章主要介紹了MySQL刪除有外鍵約束的表數據方法介紹,還是非常不錯的,這里給大家分享下,需要的朋友可以參考。
    2017-10-10
  • Mysql中json類型數據查詢的實現(xiàn)

    Mysql中json類型數據查詢的實現(xiàn)

    MySQL5.7開始支持JSON格式的數據類型,可以存儲和處理JSON類型的數據,本文主要介紹一些關于json數據類型的查詢操作,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • mysql獲得60天前unix時間思路及代碼

    mysql獲得60天前unix時間思路及代碼

    首先根據now()獲得當前時間,使用adddate()方法獲得60天前時間,使用unix_timestamp()方法轉換時間類型
    2014-08-08
  • MySQL5.7.23解壓版安裝教程圖文詳解

    MySQL5.7.23解壓版安裝教程圖文詳解

    這篇文章主要介紹了MySQL5.7.23解壓版安裝教程圖文詳解,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • mysql中not?in隱含陷阱詳解

    mysql中not?in隱含陷阱詳解

    NOT?IN?的作用和?IN?恰好相反,NOT?IN?用來判斷表達式的值是否不存在于給出的列表中;如果不是,返回值為?1,否則返回值為?0,下面這篇文章主要給大家介紹了關于mysql中not?in隱含陷阱的相關資料,需要的朋友可以參考下
    2022-04-04

最新評論