大數據高并發數據庫設計注意要點
在一個項目實施初始,數據庫的設計非常重要,很多時候,我們只關心和考慮到眼前的功能,而忽略了后續的可維護性和可拓展性,以及還有一個在大數據時代會遇到的高并發問題。
在設計表結構時要注意以下幾個要點:
1.數據行的長度不要超過8020字節,如果超過這個長度的話在物理頁中這條數據會占用兩行從而造成存儲碎片,降低查詢效率。
2.能夠用數字類型的字段盡量選擇數字類型而不用字符串類型的(電話號碼),這會降低查詢和連接的性能,并會增加存儲開銷。這是因為引擎在處理查詢和連接回逐個比較字符串中每一個字符,而對于數字型而言只需要比較一次就夠了。
3.對于不可變字符類型char和可變字符類型varchar 都是8000字節,char查詢快,但是耗存儲空間,varchar查詢相對慢一些但是節省存儲空間。在設計字段的時候可以靈活選擇,例如用戶名、密碼等長度變化不大的字段可以選擇CHAR,對于評論等長度變化大的字段可以選擇VARCHAR。
4.字段的長度在最大限度的滿足可能的需要的前提下,應該盡可能的設得短一些,這樣可以提高查詢的效率,而且在建立索引的時候也可以減少資源的消耗。
查詢語句優化要點:
1.盡可能使用索引
2.查詢有先后順序,注意把快速條件或者索引查詢放在前面
3.應盡量避免在 where 子句中使用 or 來連接條件,否則將導致引擎放棄使用索引而進行全表掃描,如:
select id from t where num=10 or num=20
可以這樣查詢:
select id from t where num=10 union all select id from t where num=20 |
4.要避免在where中使用表達式,這樣將放棄索引,進行全表查詢
posted on 2014-02-18 11:32 順其自然EVO 閱讀(1301) 評論(0) 編輯 收藏 所屬分類: 數據庫