Mysql 優化從基礎到落地 一 節

2021-09-29 12:48:46 字數 2908 閱讀 3386

慢查詢的定義以及作用:慢查詢日誌, 顧名思義   就是查詢慢的日誌, 是指 mysql 記錄所有執行 超過 long_query_time 引數設定的時間的 閥值 的 sql 語句的 日誌。  該日誌能為 sql 語句的優化 帶來 很好的幫助。 預設情況下  慢查詢日誌是關閉的,  要使用慢查詢日誌功能  首先要開啟慢 查詢的日誌功能啟動慢查詢:常用配置

● 記錄符合條件的 sql

下面是 其中的幾條慢查詢日誌

(單位毫秒)

● 常用的 慢查詢 日誌分析工具mysqldumpslow

彙總除查詢 條件以外 完全相同的 sql, 並將 分析結果 按照引數中指定的順序輸出

●  語法

mysqldumpslow -s r -t 10 slow-mysql.log

● -s 排序引數 : c,t,l,r,at,ai,ar

c :總次數

t :總時間

l :總次數

r :總數行數

at, al, ar / t,l,r :平均數 at = 總時間 / 總次數

● -t 指定取前面幾天 作為結果輸入:

這個需要 安裝perl來執行 mysqldumpslow.pl

#以總時間排序,取出前5條

慢的 sql 語句 已經找到出來了,接下來我們來優化慢的 sql

三大正規化的主要作用: 減少冗餘

● 第一大正規化

● 第二大正規化

● 第三大正規化

指 每乙個 非 主鍵屬性 即不能 部分依賴 也不傳遞依賴  與 主鍵。(屬性之間不要有關聯)

伺服器硬體

mysql 伺服器優化

sql 本身優化

反正規化設計優化

索引優化

索引的定義:

索引(index)是幫助 mysql 高效獲取資料的 資料結構。可以得到 索引的本質: 索引是資料結構

索引的分類:

執行計畫是什麼:使用 explain 關鍵字 可以 模擬 優化器 執行 sql 查詢語句; 從而知道 是如何 處理你的 mysql 語句的。 分析你的查詢語句 或者 表的結構性 瓶頸

語法:

explain + sql語句

● explain 看是否 用到了 索引;key 為 null 則沒有使用 到索引,ley_len 索引  演算法

key_len       演算法

型別 varchar char

字元編碼 utf8 3

字元本身長度

● 索引是否 充分使用,ley_len  的大小,數值越大   說明 索引利用的月充分● type 字段:type  system > const > eq_ref > ref > range > index > all

●  all        全表掃瞄                     效能最低 

● index 全表掃瞄(索引表)

C 從入門到工作 第一節 20180705

1.c 通常區分字母大小寫 2.return 0 返回乙個0,並非無意義,而是告訴使用者,程式執行沒有錯誤 3.預處理指令要放在main 函式之前 include iostream 4.std cout 你一定見過,這個是命名空間。這個是定義哪些變數和函式可供選用的高階定義。如果覺得麻煩,亦可以寫為...

第一節 python基礎

2020 03 29 python基礎 多種python版本,直接編碼讓c解釋的是cpython,pypy是最快的python 編碼 ascll碼只能表示256種無法表示中文,utf8個根據字元長短按需表示最實用 unicode國標碼浪費資源 指令碼開頭定義編碼格式可以防止用python2直譯器解釋...

第一節,tensorflow基礎構架

1 tensorflow結構 import tensorflow as tf import numpy as np create data x data np.random.rand 100 astype np.float32 y data x data 0.1 0.3 定義線性方程 create ...