資料庫優化

2021-09-26 14:56:38 字數 797 閱讀 7043

分庫分表:當單個庫或者表中的資料量大時,資料庫的效能會變慢。

垂直拆分表

當乙個表中的資料量比較大,字段比較多時,

建立乙個附屬表,將表中不常用的字段存入附屬表,通過建立外來鍵進行關聯。

垂直拆分庫

根據不同的業務需求,將不同的表放入不同的庫中,一般會放到多個伺服器上

水平分庫分表

單錶資料量太大,將資料水平拆分成多個表,多個表組合在一起才能組成成乙個完整的資料

將拆分的表放到不同的庫中

水平拆分面臨的問題:

主鍵如何保證唯一性

1.指定每張表的id取值範圍

2.通過時間或者地理位置

3.通過趨勢遞增

水平分庫 會面臨 多表查詢會受到影響,事務也會受到影響。

目前沒有人能解決這些問題,我們可以使用開源的框架產品來解決。

但是不同的開源產品,所解決的問題也不相同,所以根據自己的需求去選擇

主從複製(讀寫分離) 新增快取

一般使用非關聯式資料庫作為快取資料庫,將資料存到記憶體中

允許部分字段冗餘,使用邏輯外來鍵避免使用物理外來鍵

新增索引:給查詢頻繁的條件新增索引,使用索引最左原則

查詢時select後面不使用 *

減少資料庫的查詢次數

sql關鍵字盡量大寫

使用關聯查詢替代巢狀子查詢

使用where條件過濾,避免全表查詢

update修改時,避免修改索引字段所在的列

避免修改where後面的字段

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

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

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

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

資料庫優化

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