


Mysql的優化方法
Mysql的優化方法:
1. 從數據庫結構做起1. 字段類型的定義時遵循以下規則:1. 選用字段長度最小2. 優先使用定長型3. 盡可能的定義 "NOT NULL" 4. 數值型字段中避免使用 "ZEROFILL" 5. 如果要儲存的數據為字符串, 且可能值已知且有限, 優先使用 enum 或 set 2. 索引的優化至關重要(以下如果沒有特殊說明, 均指查詢密集的情況)
1. 被索引的字段的長度越小, 該索引的效率越高2. 被索引的字段中, 值的重復越少, 該索引的效率越高3. 查詢語句中, 如果使用了 "group" 子句, 根據其中字段出現的先后順序建立多字段索引4. 查詢語句中, 如果使用了 "distinct", 根據其中字段出現的先后順序建立多字段索引5. "where" 子句中, 出現對同一表中多個不同字段的 "and" 條件時, 按照字段出現的先后順序建立多字段索引6. "where" 子句中, 出現對同一表中多個不同字段的 "or" 條件時, 對重復值最少的字段建立單字段索引7. 進行 "內/外連接" 查詢時, 對 "連接字段" 建立索引8. 對 "主鍵" 的 "unique" 索引 毫無意義, 不要使用9. 被索引字段盡可能的使用 "NOT NULL" 屬性10. 對寫入密集型表, 盡量減少索引, 尤其是 "多字段索引" 和 "unique" 索引2. 查詢語句的優化1. 多多利用 "explain" 查詢索引使用情況, 以便找出最佳的查詢語句寫法和索引設置方案2. 慎用 "select *", 查詢時只選出必須字段3. 查詢使用索引時, 所遍歷的索引條數越少, 索引字段長度越小, 查詢效率越高 (可使用 "explain" 查詢索引使用情況)
4. 避免使用 mysql 函數對查詢結果進行處理, 將這些處理交給客戶端程序負責5. 使用 "limit" 時候, 盡量使 "limit" 出的部分位于整個結果集的前部, 這樣的查詢速度更快, 系統資源開銷更低6. 在 "where" 子句中使用多個字段的 "and" 條件時, 各個字段出現的先后順序要與多字段索引中的順序相符7. 在 "where" 子句 中使用 "like" 時, 只有當通配符不出現在條件的最左端時才會使用索引8. 在 mysql 4.1 以上版本中, 避免使用子查詢, 盡量使用 "內/外連接" 實現此功能9. 減少函數的使用, 如果可能的話, 盡量用單純的表達式來代替10. 避免在 "where" 子句中, 對不同字段進行 "or" 條件查詢, 將其拆分成多個單一字段的查詢語句效率更高。
Mysql 字段長度說明 | |||
---|---|---|---|
TINYINT | 1 字節 | SMALLINT | 2 字節 |
MEDIUMINT | 3 字節 | INTEGER: | 4 字節 |
BIGINT | 8 字節 | DOUBLE | 8 字節 |
FLOAT(X) | X <=24: 4 字節 X > 24: 8 字節 |
DECIMAL(M,D) | M<D: D+2 字節 M>=D: M 字節 |
DATE | 3 字節 | DATETIME | 8 字節 |
TIMESTAMP | 4 字節 | TIME | 4 字節 |
YEAR | 1 字節 | ||
CHAR(M) | M 字節 | VARCHAR(M) | 值長度 + 1 字節 |
TINYBLOB | 值長度 + 1 字節 | TINYTEXT | 值長度 + 1 字節 |
BLOB | 值長度 + 2 字節 | TEXT | 值長度 + 2 字節 |
MEDIUMBLOB | 值長度 + 3 字節 | MEDIUMTEXT | 值長度 + 3 字節 |
LONGBLOB | 值長度 + 4 字節 | LONGTEXT | 值長度 + 4 字節 |
ENUM | 1 或 2 字節 取決于枚舉值數 |
SET | 1,2,3,4, 8 取決于成員數量
|
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解