mysql高階 with as 效能調優

2022-09-08 07:09:07 字數 1211 閱讀 6658

with-as 意義:對於多次反覆出現的子查詢,可以降低掃瞄表的次數和減少**重寫,優化效能和使編碼更加簡潔

1、mysql版本: 8以及8以上的

2、首先定義子查詢的臨時虛擬表

語法: with 臨時表名 as 子查詢,定義出(子查詢)的虛擬臨時表,然後定義之後需要立馬引用才有意義

即:定義好with子查詢,但其後沒有跟select查詢引用,會報錯!

即:臨時虛擬表需要立即引用它,with子查詢語句必須定義在引用它的select語句之前!

3、定義多個子查詢的臨時表,這多個子查詢共用乙個with子查詢之間使用,隔開

注意:子查詢與引用之間不能加,

#with as 語法: with 虛擬臨時表名 as (子查詢) +引用

with temp as (select * from t_teacher) # 定義子查詢

(select `name` from temp) t1, # 多次引用子查詢的臨時虛擬表

(select age from temp) t2,

(select *** from temp) t3

where t1.id = t2.id and t1.id = t3.id and t2.id = t3.id;

#with as 語法(定義多個子查詢)

with

temp1 as (select * from t_teacher),

temp2 as (select * from t_stu),

te*** as (select * from t_user)

select count(*) from temp1......

#....引用即可.....#

mysql容器效能優化 MySQL高階 效能優化

1.應用優化 1.1 使用資料庫連線池 使用資料庫連線池,避免資料庫連線頻繁的建立和銷毀,進而減少資源的消耗,提高資料庫的訪問效能。1.2 減少對mysql的訪問 1.2.1 避免資料重複檢索 能一次檢索獲取到結果,就不要進行倆次檢索,減少對資料庫的無用重請求。1.2.2 增加cache層 增加快取...

MySQL高階效能優化 效能分析

是指資料庫表的每一列都是不可分割的基本資料項,同一列不能有多個值。第一正規化 1nf 是對關係模式的基本要求,不滿足第一正規化的資料庫就不是關聯式資料庫 要求資料庫表中的每個例項或行必須可以被唯一的區分。設定主鍵來區分 要求乙個資料庫表中不包括已在其它表中已包含的非主關鍵資訊。兩張表不要重複的字段,...

MySQL高階效能優化 MySQL邏輯架構篇

我們客戶端傳送乙個select是直接交給連線層來處理,而它的作用就是提供與客戶端連線的服務.連線層只是與客戶端建立起連線.完成一些類似連線處理,授權認證 及相關的安全方案.在該層上引入了連線池的概念.提供核心的服務功能,如sql介面,完成快取的查詢,sql的分析和優化部分及內建函式的執行.服務包括以...