MySQL資料庫查詢語句的常用優化

2021-09-12 21:48:05 字數 703 閱讀 7653

mysql將in中的常量全部儲存在乙個陣列裡面,而且這個陣列是排好序的。

如果數值過多,對引擎查詢過程中產生的消耗也是比較大的。

例如:

select id

from table_name

where num in (1,2,3)

對於連續的數值,能用between就盡量不要用in了,再或者使用連線來進行替換。

select * 會增加很多不必要的消耗(cpu、io、記憶體、網路頻寬)

當表結構發生改變時,前段也需要更新,所以要求直接在select後面接上欄位名

例如:

select name,salary,managerid

from employee

# 會比select * from employee更加優化

union操作符用於合併兩個或兩個以上select語句的結果集,union內部的select語句必須擁有相同數量的列,列也必須擁有相似的資料型別。

union和union all的差異主要是前者需要將結果集合合併之後在進行唯一性過濾操作,這就會涉及到排序的操作,會增加cpu的運算負擔,加大資源消耗。

當然,union all的前提條件是兩個結果集沒有重複資料。

or兩邊的字段中,如果有乙個不是索引字段,會造成查詢不走索引的情況。很多時候用union all或者union 的方式來替代「or」會得到更好的效果。

資料庫常用查詢語句

1.all表示所有 where a all select b from t where 條件 a滿足所有b的條件 2.order by排序 select from order by company desc desc是降序 asc是公升序 預設事務開啟的作用是什麼?當我們去執行乙個sql語句的時候,...

mysql常用資料庫語句

解決too many connections問題 select concat kill id,from information schema.processlist檢視最大連線數 show variables like max connections 臨時設定成500 set global max ...

資料庫相關常用查詢語句

1 檢視資料庫的版本 select version 2 檢視資料庫所在機器作業系統引數 exec master.xp msver 3 檢視資料庫啟動的引數 sp configure 4 檢視資料庫啟動時間 select convert varchar 30 login time,120 from m...