mysql基本介紹

2021-09-10 07:45:57 字數 3054 閱讀 3928

mysql配置檔案

1.二進位制檔案log-bin 【主從複製】

2.錯誤日誌log-error 【預設是關閉的,記錄嚴重的警告和錯誤資訊】

3.查詢日誌log 【預設關閉,記錄查詢的sql,開啟回影響mysql效能,因為記錄日誌需要時間】

4.資料檔案 【.frm (存放表結構) .myd (存放表資料) .myi (存放表索引 )】

5.配置檔案 【window(my.ini)linux (/etc/my.cnf)】

mysql儲存引擎

innodb和myisam (常用)

mysql索引

單值索引

唯一索引

復合索引

乙個索引只包含單個列,乙個表可以有多個單值索引

索引列的值是唯一的,單可以為空值

乙個索引包含多個列

mysql索引結構

btree索引

雜湊索引

全文索引

r-tree索引

哪些情況需要建立索引

主鍵自動建立唯一索引

頻繁作為查詢條件的字段應該建立索引

查詢中與其它表關聯的外來鍵需要建立索引

頻繁更新的字段不適合建立索引【因為更新的不只是資料,還更新索引,加重了io負擔】

where條件裡用不到的字段不建立索引

查詢中排序的字段需要建立索引

查詢中統計或分組需建立索引

哪些情況不需要建立索引

mysql常見瓶頸

explain

1.explain是什麼?

答:使用explain可以模擬並優化執行sql語句順序,從而知道mysql是怎麼執行sql語句的,分析sql語句,從而達到優化sql語句

2.能幹嘛?

怎麼用?

答:explain+sql語句

expalin查詢包含的資訊id

select_type

table

type

possible_keys

keykey_len

refrows

extra

select查詢的序列號,也就是sql語句執行順序 。id相同,則順序從上到下執行。否則id越大優先順序越高

查詢的型別,主要是區別查詢是子查詢,聯合查詢,普通查詢等

查詢時有那些表

顯示查詢型別

顯示表有哪些索引可用,但是不一定會用到這些索引

實際使用的索引,如果為null則沒有使用索引

表示索引中使用的位元組數

顯示索引的哪一列被使用

顯示查詢的行數

包含了不適合在其他列顯示但十分重要的資訊

select_type

******

primary

subquery

derived

union

union result

簡單的查詢

主鍵在select或者where包含了子查詢

在from表裡包含的子查詢,mysql會遞迴的執行這些語句並放在臨時表裡

聯合查詢

從nuion表獲取的結果的select

type

system

const

eq_ref

refrange

index

all表只有一行資料,可以忽略

通過索引一次就找到了,只匹配一天資料

常見於主鍵和唯一索引掃瞄

非唯一性索引掃瞄,返回匹配某個單獨值得行

返回在給定範圍得行,如in,between等

全表掃瞄

全表掃瞄,區別於index是,index是從索引讀取的資料,all是讀的硬碟得資料

一般能達到range就可以了

extra

using filesort

using temporary

using index

using where

using join buffer

impossible where

select tables optimized

distanct

說明mysql會對資料重排序,出現這個要注意

使用臨時表儲存結果,通常出現於order by和group by

表示select語句使用了覆蓋索引,效率不錯!!!

使用了where過濾

使用了連線快取

where子句得值總是false

在沒有group by的情況下,基於索引優化min/max

優化distanct,在找到第乙個匹配的元組後不查相同的記錄

慢日誌查詢

檢視是否開啟慢日誌查詢

show variables like "%show_query_log%";【預設關閉】
開啟慢日誌

set global slow_query_log=1;
檢視當前多少時間才算慢

show variables like "long_query_time%";【預設好像是10秒】
設定慢查詢時間

set global long_query_time=3;
日誌分析工具mysqldumpslows

clrt

alar

at-t

-g表示按照什麼方式排序

訪問次數

鎖定時間

返回記錄

查詢時間

平均鎖定時間

平均返回記錄數

平均查詢時間

返回前面的多少條資料

後面搭配乙個正則匹配模式,大小寫不敏感

MySQL 基本介紹

一,mysql 與其他資料庫的簡單比較 1,功能比較 在事務支援方面,雖然 mysql 自己的儲存引擎並沒有提供,但是已經通過第三方外掛程式式儲存引擎innodb 實現了 sql 92 標準所定義的四個事務隔離級別的全部,只是在實現的過程中每一種的實現方式可能有一定的區別,這在當前商用資料庫管理系統...

mysql事務基本介紹

執行一條命令,或者多條命令,要麼全部成功,要麼全部失敗,不存在中間狀態 執行一條命令,或者多條命令,執行前後整體保持一致 比如 a有餘額100元,b有餘額100元,a給b轉賬50元,轉賬後a有餘額50元,b有餘額150元,a b前後總額分別都是200元 隔離性是指事務和事務之間操作具有隔離性,即是乙...

MySQL介紹與基本操作

前身屬於瑞典的一家公司,mysql ab 08年被sun公司收購 09年sun被oracle收購 1 開源 免費 成本低 2 效能高 移植性也好 3 體積小,便於安裝 屬於c s架構的軟體,一般來講安裝服務端 企業版社群版 5.55.6 5.78.0 方式一 計算機 右擊管理 服務 方式二 通過管理...