SQL優(yōu)化解決思路下面是我總結的SQL優(yōu)化思路,也是對自己做了這幾年系統(tǒng)和數(shù)據(jù)庫優(yōu)化的一個小結,,不是很完整,,寫這個文檔是應付領導的,現(xiàn)在共享出來,,以后在慢慢更正吧,! 數(shù)據(jù)庫層面優(yōu)化解決思路: 當出現(xiàn)SQL查詢比較慢問題
在數(shù)據(jù)庫層面,優(yōu)化方法一般采用,,減少訪問次數(shù),,高效SQL,建立索引和建立表分區(qū),好的數(shù)據(jù)庫表設計,。 情況一:一個功能執(zhí)行很慢,,通過SQL Profile取出SQL語句,。如果查看sql的各個表,如果查詢的表的數(shù)據(jù)量在5萬以下,, 解決思路: 1,,看該查詢sql是否在循環(huán)語句的調(diào)用,如果是看是否能改成一條SQL,,盡量減少訪問數(shù)據(jù)庫 情況二,,查詢的表數(shù)據(jù)量比較大(超過50萬以上) 1,檢查SQL語句的寫法: 這是一個看SQL語句的寫法: 1,,避免使用: like ‘%關鍵字%’ 2,,使用分頁,減少查詢出數(shù)據(jù)量,。 3,,避免在字段上使用函數(shù): 如 upper(“字段”)=值 改成 字段=upper(‘值’) 。 4,, 盡量少用”or”關鍵字 2,,對查詢的字段建立索引 如:select * from doc where objid=’ 4028819e181e984c01181f5874f703f1’ 查詢?nèi)绻脑挘托枰?/SPAN>doc 表的objid建立索引 3,,對大表建立分區(qū) 對大型的表一般建立分區(qū),可以按照是否結束(isfinished),是否刪除(isdeleted),和模塊分區(qū)(doc ,,cusr等)等來分區(qū),。 |
|
來自: 糖糖書屋_CJF > 《sql優(yōu)化》