mysql效能優化學習筆記(5)資料庫結構優化

2022-07-17 03:27:13 字數 549 閱讀 5874

一、選擇合適的資料型別

1.使用可存下資料的最小的資料型別

2.使用簡單地資料型別,int

二、正規化設計

一般需要遵循第三正規化的要求

資料表結構優化 第三正規化:要求資料庫中不存在非關鍵字段對任意候選關鍵字的傳遞函式依賴

不符合第三正規化要求的表存在以下問題:

1.資料冗餘:(分類、分類描述)對於每乙個商品都會進行記錄

2.資料插入異常

3.資料更新異常

4.資料刪除異常

反正規化化

為了查詢效率的考慮把原本符合第三正規化的表適當增加冗餘,以空間換取時間

三、表的拆分

垂直拆分

把原來有很多列的表拆分成多個表,原則是:

1.把不常用的字段單獨存放到乙個表中

2.把大字段獨立存放在乙個表中

3.把經常使用的字段放在一起

水平拆分

1.對customer_id進行hash運算,如果是要拆分成5個表的話,則使用mod(customer_id,5)

2.針對不同的hashid把資料存到不同的表中

mysql效能優化學習筆記

數量比頻率更好 64位使用32位的伺服器版本 32位不能使用超過4g的內容,因此選擇的時候需要注意。myisam innodb cpu 64位的cpu執行64位的系統 高併發的場景,cpu數量比頻率重要 cpu密集型的場景和複雜sql則頻率越高越好 記憶體 i o 選擇伺服器版本,而不是桌面版本。核...

效能優化學習筆記

js css鬆散耦合盡量避免直接用js操作樣式,改為控制類名 element.classname edit 解耦應用邏輯和事件處理程式 使用常量優化效能,提公升 維護性 避免全域性查詢 優化迴圈效能乙個基本的for迴圈 for let i 0 i values.length i 乙個減值操作的for...

ORACLE SQL效能優化(學習筆記)

記錄小的表應該在from的最後 多表查詢時 寫條件時from最後的哪個表應該先寫 where條件時要先寫表之間的連線 select 字句避免用 儘量減少訪問資料庫的次數 刪除全表時用truncate替代delete 不可恢復 盡量多使用 mit 使用表的別名 alias 使用exists替代in 並...