SQL語句優化總結

2021-08-21 02:31:18 字數 977 閱讀 8711

開發過程中必不可少的就是對資料庫的操作,也就離不開sql語句的書寫,我們也就需要考慮到sql語句的執行速度,需要書寫規範和優化。

1.避免進行全表掃瞄。避免使用「select * 」,用表中具體的列來查詢 。

select * from user ;

select id,name,phone,... from user;

2.避免where語句中進行null判斷,這會使引擎放棄索引進行全表掃瞄,可以用0代替null。

select name from user where name is null;
3.避免使用where  != 或者 where >,《操作符,否則放棄索引進行全表掃瞄。

4.模糊查詢也會進行全表掃瞄。

5.查詢時不需要的字段不要進行查詢。

6.避免對欄位進行運算。

7.where多條件查詢時,先根據條件過濾掉最多的資料。表中性別為0的資料量很多,過濾掉不為0的很少,剩下的資料再進行name欄位查詢,這樣效率比較低。選進行name過濾,剩下的資料很少再進行***過濾,執行速度更快。

select name from user where ***=『0』 and name=『ban』;

select name from user where name=『ban』 and ***=『0』;

8.乙個表的索引最多為6個,索引多查詢快,但insert,update操作時效率低,有可能重建索引。

9.避免使用count(*)查詢。這樣會進行全表查詢,也沒有太大實際意義。

select count(*) from user;

select count(id) from user;

10.當使用資料量小的表跟資料量大的表進行關聯查詢時,不要使用強關聯,使用 left join關聯。用小表資料去大表中進行查詢資料。能夠有效的降低sql的執行時間。

sql 語句優化總結

我們如何更迅速的從乙個大型專案中,知道是什麼影響了服務的效能。mysql 提供了一些常用的命令來查詢資料庫的執行狀態。1.show status like uptime 檢視mysql資料庫執行了多長時間 2.show status like com select 檢視mysql 資料庫的查詢次數 ...

sql語句優化總結

先前一直對sql語句優化沒有太在乎,最近 使用者量增加,發現資料庫壓力很大自己寫的語句啊,新來的架構師對我們語句一一優化,我總結如下 不斷更新。1 優化前的語句 query time 5.967435 lock time 0.000129 rows sent 1 rows examined 8034...

SQL 語句優化總結

個人日常優化sql語句的總結筆記 目前 db 承受 日平均 500w pv 左右的站點,資料檔案大小在20g左右,表資料量 在 50 500 w 左右 僅供參考 1 查詢的資料行分布情況,決定索引是否用得上,如果查詢的資料行在資料表中分布均勻,且所佔比重較大,能用上索引 反之,用不上索引 2 sel...