資料庫優化

2021-09-20 06:16:26 字數 1078 閱讀 1162

核心思想:避免全表掃瞄

1.對查詢進行優化,要盡量避免全表掃瞄,首先應考慮在 where 及 order by 涉及的列上建立索引。

2.應盡量避免在 where 子句中對字段進行 null 值判斷

3.應盡量避免在 where 子句中使用 != 或 <> 操作符,否則將引擎放棄使用索引而進行全表掃瞄

4.應盡量避免在 where 子句中使用 or 來連線條件,如果乙個欄位有索引,乙個字段沒有索引,將導致引擎放棄使用索引而進行全表掃瞄,如:

select id from t where num=10 or name = 'admin'
可以這樣查詢:

select id from t where num = 10

union all

select id from t where name = 'admin'

5.in 和 not in 也要慎用,否則會導致全表掃瞄,如:

select id from t where num in(1,2,3)
對於連續的數值,能用 between 就不要用 in 了:

select id from t where num between 1 and 3
很多時候用 exists 代替 in 是乙個好的選擇:

select num from a where num in(select num from b)
用下面的語句替換:

select num from a where exists(select 1 from b where num=a.num)
使用join來代替子查詢

6.避免where字句中使用引數,可以改為強制查詢使用索引;

7.避免where字句中進行函式操作

while(1)

//每次暫停一段時間,釋放表讓其他程序/執行緒訪問。

usleep(50000)

}

資料庫優化 資料庫設計優化

一 索引優化 1.首先索引不是越多越好,要視情況而定。因為索引會降低insert和update的效率 insert和update有時可能會重建索引。2.乙個表的索參數量最好不要超過6個,擇優而建。3.專案上線後,根據使用者的查詢條件字段稍微調整資料庫中的字段索引。二 分表 1.縱切 根據表字段來且分...

資料庫引擎優化顧問優化資料庫

現在一直在做的專案,資料量相對也不小,開始的時候沒有覺得,因為是剛開始,資料量還很小,在程式使用過程中速度還挺快,但是隨著資料量的不停的增長,發現程式越來越慢,甚至出現了超時的問題,因此要對程式和資料庫進行優化,前期專案比較緊,沒有針對大資料量業務進行分析設計,所以索引等相關優化沒有做到位,通過後期...

資料庫優化

資料庫優化 1 合理使用索引 索引是資料庫中重要的資料結構,它的根本目的就是提高查詢效率。索引的使用要恰到好處,其使用原則如下 在經常進行連線,但是沒有指定為外來鍵的列上建立索引,而不經常連線的字段則由優化器自動生成索引 在頻繁進行排序或分組 即進行groupby或orderby操作 的列上建立索引...