效能優化3 資料庫優化

2021-09-07 19:01:37 字數 760 閱讀 3053

1> 索引

雖然索引的目的在於提高資料庫的效能,但這裡有幾個情況需要避免使用索引。使用索引時,應重新考慮下列準則:

索引不應該使用在較小的表上。

索引不應該使用在有頻繁的大批量的更新或插入操作的表上。

索引不應該使用在含有大量的 null 值的列上。

索引不應該使用在頻繁操作的列上。

2> 事務

對於事務,就是資料庫的一次原子性的執行操作。原子性的執行操作為資料的整體性執行帶來的可靠安全性。在sqlite中,如果我們預設事務(會為每個插入和更新都建立一次事務,並且在每次插入和更新後會立刻提交本次操作),即沒有手動建立事務,假設此時有1000條資料,那麼資料的執行流程是 建立事務 -> 執行插入或更新操作 -> 提交事務,這樣的流程會執行1000次。如果我們手動建立了事務,則執行流程為: 建立事務 -> 執行1000條sql資料操作 -> 提交事務。很明顯,我們在sqlite中使用事務可以為插入和更新操作帶來很大的優化。下面來看在sqlite中如何使用事務:

從上圖我們看到,執行一次事務分為了四步,分別是:開始事務 ->  執行sql ->設定事務執行成功 ->  結束事務

效能優化 MySQL資料庫優化

可以從哪幾個方面進行資料庫的優化?如下圖所示 a sql及索引優化 根據需求寫出良好的sql,並建立有效的索引,實現某一種需求可以多種寫法,這時候我們就要選擇一種效率最高的寫法。這個時候就要了解sql優化 b 資料庫表結構優化 根據資料庫的正規化,設計表結構,表結構設計的好直接關係到寫sql語句。c...

資料庫效能優化

資料庫設計 實現sql server資料庫的優化,首先要有乙個好的資料庫設計方案。在實際工作中,許多sql server方案往往是由於資料庫設計得不好導致效能很差。實現良好的資料庫設計必須考慮這些問題 1.邏輯資料庫規範化問題 一般來說,邏輯資料庫設計會滿足規範化的前3級標準 第1規範 沒有重複的組...

資料庫效能優化

1 系統設計 1 縱向 橫向分割表,減少表的尺寸 縱向 欄位多。按業務主題分割。根據頁大小。橫向 資料多。按條件分割表。eg 按年儲存表,歷史資料表和當期資料更新表。2 將資料處理交給db,編寫儲存過程 1 減少網路的開銷 2 儲存過程是編譯 優化過,速度快。3 唯讀查詢操作優化方法 1 資料量小的...