qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          大數據高并發數據庫設計注意要點

           在一個項目實施初始,數據庫的設計非常重要,很多時候,我們只關心和考慮到眼前的功能,而忽略了后續的可維護性和可拓展性,以及還有一個在大數據時代會遇到的高并發問題。
            在設計表結構時要注意以下幾個要點:
            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)  編輯  收藏 所屬分類: 數據庫

          <2014年2月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          2324252627281
          2345678

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 旬阳县| 长沙市| 九江市| 寿光市| 黄大仙区| 灯塔市| 茌平县| 五莲县| 建阳市| 普洱| 临高县| 林口县| 苗栗市| 辛集市| 湛江市| 朔州市| 常德市| 本溪| 海盐县| 延长县| 寻甸| 扬中市| 万盛区| 白银市| 卢氏县| 图木舒克市| 伊春市| 周宁县| 修水县| 长兴县| 海盐县| 绥芬河市| 年辖:市辖区| 黑龙江省| 城口县| 启东市| 读书| 镇原县| 西充县| 砀山县| 新河县|