在乙個專案實施初始,資料庫
的設計非常重要,很多時候,我們只關心和考慮到眼前的功能,而忽略了後續的可維護性和可拓展性,以及還有乙個在大資料時代會遇到的高併發問題。
在設計表結構時要注意以下幾個要點:
1.資料行的長度不要超過8020位元組,如果超過這個長度的話在物理頁中這條資料會占用兩行從而造成儲存碎片,降低查詢效率。
2.能夠用數字型別的字段盡量選擇數字型別而不用字串型別的(**號碼),這會降低查詢和連線的效能,並會增加儲存開銷。這是因為引擎在處理查詢和連線回逐個比較字串中每乙個字元,而對於數字型而言只需要比較一次就夠了。
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中使用表示式,這樣將放棄索引,進行全表查詢
大資料高併發資料庫設計注意要點
注 在乙個專案實施初始,資料庫的設計非常重要,很多時候,我們只關心和考慮到眼前的功能,而忽略了後續的可維護性和可拓展性,以及還有乙個在大資料時代會遇到的高併發問題。在設計表結構時要注意以下幾個要點 1.資料行的長度不要超過8020位元組,如果超過這個長度的話在物理頁中這條資料會占用兩行從而造成儲存碎...
資料庫優化 資料庫設計優化
一 索引優化 1.首先索引不是越多越好,要視情況而定。因為索引會降低insert和update的效率 insert和update有時可能會重建索引。2.乙個表的索參數量最好不要超過6個,擇優而建。3.專案上線後,根據使用者的查詢條件字段稍微調整資料庫中的字段索引。二 分表 1.縱切 根據表字段來且分...
Mysql資料庫使用的注意要點
每一條都是來自一線的實戰經驗 每一條都是背後血淋淋的教訓,不要華麗,只要實用。盡量不在資料庫做運算 比如md5 order by rand 拒絕3b big sql,big transaction,big batch 控制單錶的資料量 將字元轉化為數字 比如用int儲存ip位址,而不是char 15...