首頁  >  文章  >  資料庫  >  MySQL"軍規"

MySQL"軍規"

亚连
亚连原創
2018-05-17 11:33:421365瀏覽

下面我來說一下,有關在MYSQL上最實用的"軍規",希望大家都能夠牢記遵守

一、核心軍規

        - 不在資料庫中做運算:cpu計算務必移至業務層

        - 控制單表資料量:單表記錄控制在1000w

數控制在20以內

        - 平衡範式與冗餘:為提高效率犧牲範式設計,冗餘數據

        - 拒絕3B:拒絕大sql,大事物,大批量

二、欄位類別軍事規則

        - 善用

數值類型            tinyint(1Byte)
   1 c smh 3Byte)
int(4Byte)
            bigint(8Byte)
            bad case:int(1)/int(11)#> )儲存ip

        - 避免使用NULL欄位

            NULL欄位很難

查詢
最佳化

         無效


        - 少用text/blob            varchar的性能會比text高很多          # 實在避免不了
          # 實在避免不了  圖片# 

三、索引類別軍規

##        - 謹慎合理使用索引
            改善查詢、減緩
更新##o##  #      改善查詢、減緩

選擇好(可不加就不加,要加的一定得加)

            覆蓋記錄條數過多不適合建構索引,例如「性別」        - 字元欄位必須建構前綴索引

        - 字元欄位必須建構前綴索引

        - 字元欄位必須建構前綴索引
        - 字元欄位必須建構前綴索引
        - 不在索引做列運算
            bad case:

            select id where age 1 = 10;

使用自排      主鍵建立叢集索引

            主鍵不應該被修改

           
字串
不應該做主鍵

          # 如果不指定主鍵,innb#od         # 如果不指定主鍵,innb#odm#od; ##            請使用程序保證

限制


四、sql類別軍事規則
        - sql語句盡可能簡單## 運算

            大語句拆小語句,減少鎖定時間

            全語句移除整個程式庫
##          bad case:            上傳圖片交易

        - 避免使用trig/func

           
 

上面是我整理給大家的MySQL"軍規",希望今後會對大家有幫助。

相關文章:

mysql基本語法

#給Myql建立索引

mysql的一些高階用法

以上是MySQL"軍規"的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn