亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL與PHP的基礎(chǔ)與應(yīng)用專題之索引

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

概述

從今天開始, 小白我將帶領(lǐng)大家一起來補(bǔ)充一下 數(shù)據(jù)庫(kù)的知識(shí).

索引

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

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

格式:

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

查詢分析器 EXPLAIN

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

查詢分析器的用途:

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

結(jié)果解析:

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

格式:

EXPLAIN SQL 語(yǔ)句

例子:

MySQL 日志

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

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

慢查詢?nèi)罩?/h2>

慢查詢?nèi)罩居糜谟涗?MySQL 數(shù)據(jù)庫(kù)中響應(yīng)時(shí)間超過指定閾值的語(yǔ)句. 慢查詢?nèi)罩就ǔR脖环Q為慢體質(zhì), 因?yàn)槁樵儾粌H僅針對(duì) SELECT 語(yǔ)句, 像 INSERT, UPDATE, DELETE 等語(yǔ)句. 只要響應(yīng)時(shí)間超過所設(shè)定閾值都會(huì)記錄在慢查詢?nèi)罩局?

參數(shù)描述
slow_query_log是否開啟慢查詢?nèi)罩? 1 表示開啟, 0 表示關(guān)閉
slow_query_log_file慢查詢?nèi)罩敬鎯?chǔ)路徑, 可選
long_query_time閾值, 當(dāng) SQL 語(yǔ)句的響應(yīng)時(shí)間超過閾值就會(huì)被記錄到日志中
log_queries_ not_using_indexes未使用索引的查詢也被記錄到慢查詢中, 可選
log_output日志存儲(chǔ)方式, 默認(rèn)為 FILE
log_output=‘FILE’ 表示將日志存入文件
log_output=‘TBALE’ 表示將日志存入數(shù)據(jù)庫(kù)
log_output=‘FILE, TABLE’ 表示同時(shí)將日志存入文件和數(shù)據(jù)庫(kù)

開啟慢查詢:

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

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

相關(guān)文章

  • MySQL數(shù)據(jù)庫(kù)運(yùn)維之?dāng)?shù)據(jù)恢復(fù)的方法

    MySQL數(shù)據(jù)庫(kù)運(yùn)維之?dāng)?shù)據(jù)恢復(fù)的方法

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

    MySQL從MyISAM轉(zhuǎn)換成InnoDB錯(cuò)誤與常用解決辦法

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

    Mysql using使用詳解

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

    MySQL數(shù)據(jù)類型DECIMAL用法詳解

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

    idea連接mysql數(shù)據(jù)庫(kù)失敗的幾種解決方案

    我們?cè)趯W(xué)習(xí)Mybatis時(shí)需要連接Mysql數(shù)據(jù)庫(kù),使用IDEA無法連接mysql數(shù)據(jù)庫(kù),下面這篇文章主要給大家介紹了關(guān)于idea連接mysql數(shù)據(jù)庫(kù)失敗的幾種解決方案,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • MySQL刪除有外鍵約束的表數(shù)據(jù)方法介紹

    MySQL刪除有外鍵約束的表數(shù)據(jù)方法介紹

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

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

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

    mysql獲得60天前unix時(shí)間思路及代碼

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

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

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

    mysql中not?in隱含陷阱詳解

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

最新評(píng)論