資料庫優化

2021-08-17 07:53:20 字數 1143 閱讀 9331

資料庫優化,一直是很讓人頭疼的事,尤其對於當前網際網路發展到了一定的時期,資料量達到了一定的數量級,處理資料比較慢,這方面的知識就顯得尤為重要了。這裡就大概來說下資料庫優化的相關知識。

先說下當前資料庫大部分都還是以關係型資料庫為主流,但是現在nosql也慢慢變得越來越重要了,畢竟現在是大資料時代,但是這裡主要是講關係型資料庫。

資料優化是①找出系統瓶頸;②合理結構設計和引數調整,提高響應速度;③節省系統資源。其原則是①減少系統瓶頸;②減少資源占用;③增加系統反應速度。一般包括優化查詢和優化資料庫結構。

資料庫優化包括邏輯優化和伺服器優化。邏輯優化包括優化查詢和優化資料庫結構;伺服器優化包括硬體優化和引數優化。

優化查詢主要是建立索引,但是在使用索引的時候,要注意一下幾點:①where查詢條件中,如果使用like的話,等候右邊不能以%開始,否則該查詢中索引是不起作用的。②多列索引的話,則要使用第乙個索引字段,否則也不起效。③or條件的話,or左邊和右邊的條件欄位都必須是索引字段,否則也不起作用。另外盡量使用連線查詢代替子查詢,因為子查詢會導致資料庫系統建立臨時表,等查詢結束後又要刪掉臨時表,這期間的操作會造成不小的效能消耗,而連線查詢就不會產生臨時表。

優化資料結構包括①資料庫縱向切割(根據欄位的使用頻率來切割成兩個表);②橫向切割;③聯合查詢比較多的話,則可以為該查詢新增乙個中間表;④增加冗餘字段,減少連線表造成的效能消耗;⑤優化插入記錄(禁用索引、禁用唯一性、批量插入(比如insert,一次性而不是用多條insert)、批量插入盡量使用load data infile);⑥分析表,檢查表,優化表,為的是檢查出表是否有錯誤。

以下拿mysql來說下平時一般是如何來進行簡單資料庫優化的。mysql提供了查詢分析的關鍵字,explain來對查詢語句進行分析,找出其中查詢慢的地方和原因,分析的結果一般如下圖(摘自:

該分析結果表的詳細講解請看:另外,如果是**裡面使用高階語言的持久層框架的話,想要檢測究竟做了什麼操作的話,可以通過檢視mysql的通用查詢日誌檔案就可以知道了。mysql的日誌檔案分為好幾種,有錯誤日誌,二進位制日誌,通用查詢日誌,慢查詢日誌,但是這幾種日誌預設都是關閉的,要開啟才會記錄,但是最好不要都開啟,因為開啟的話,會很好效能,在需要的時候開啟記錄一下就好了,詳細如何開啟自己研究了。

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

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

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

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

資料庫優化

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