中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql建表需要注意什么

發布時間:2020-10-15 20:01:26 來源:億速云 閱讀:312 作者:栢白 欄目:MySQL數據庫

本篇文章和大家了解一下mysql建表需要注意什么。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。

一、mysql各個名稱

庫名、表名、字段名全部使用小寫字母,用'_'下劃線分割,且名字長度不超過12,做到見名知意。

二、使用Inoodb存儲引擎

    1. 是否要支持事務,如果要請選擇innodb,如果不需要可以考慮MyISAM;

    2. 如果表中絕大多數都只是讀查詢,可以考慮MyISAM,如果既有讀寫也挺頻繁,請使用InnoDB。

    3. 系統奔潰后,MyISAM恢復起來更困難,能否接受;

    4. MySQL5.5版本開始Innodb已經成為Mysql的默認引擎(之前是MyISAM),說明其優勢是有目共睹的,如果你不知道用什么,那就用InnoDB,至少不會差。


三、字段類型選擇

    1. 建議所有的表都有一個自增id,這個id可以經常作為主鍵。

    2. 存儲非負數用unsigned。因為同樣的字節數,存儲的數值范圍更大,如tinyint,有符號為 -128-127,無符號為 0-255。

    3. 整形定義中不加長度,直接用int,而不是int(n)。其實這里的n不是存儲長度的意思,比如int(3)默認顯示3位,空格補齊,超出時正常顯示。

    4. 存儲取值范圍在0-80的數值時,用tinyint unsigned。

    5. 明白varchar(n)中的n指的是字符數而不是字節數。

    6. 字符集選擇utf8

    7. timestamp和datetime都是精確到秒,優先選擇timestamp,因為timestamp只有4個字節,而datetime8個字節。同時timestamp具有自動賦值以及自動更新的特性。

    8. 如果可能,所有字段最好都用not null。因為:null字段被索引,需要額外的1字節;使索引,索引統計,值的比較變得更復雜。所以如果是索引字段,一定要定義為not null,null值可用0,''代替。

四、建立索引需要注意

    1. 索引名稱必須使用小寫

    2. 普通索引按照“idx_字段名稱”進行命名,唯一索引按照“uniq_字段名稱”進行命名

    3. 索引中的字段數建議不超過5個。單張表的索引數量控制在5個以內。InnoDB使用b+tree來存儲,因此在update、delete、insert的時候需要對b+tree進行調整,過多的索引會減慢更新的速度。

    4. 唯一索引不和主鍵重復。

    5. 經常作為where條件的字段要添加索引。order by,group by的字段建議添加索引。

    6. 使用explain判斷sql語句是否合理使用索引,盡量避免extra列出現:Using File Sort,UsingTemporary。

    7. 合理創建聯合索引避免冗余,(a,b,c)相當于(a)(a,b)(a,b,c),mysql有最左匹配原則。合理利用覆蓋索引。

五、sql語句

    1. 使用prepared statement,可以提供性能并且避免SQL注入。

    2. select語句只獲取需要的字段,不使用select *這種寫法。

    3. where條件中的非等值條件(in、between、<、<=、>、>=)會導致后面的條件使用不了索引。

    4. 避免在sql語句進行數學運算或者函數運算,容易將業務邏輯和db耦合在一起。

    5. 避免使用存儲過程、觸發器、函數等,容易將業務邏輯和db耦合在一起,并且MySQL的存儲過程、觸發器、函數中存在一定的bug。

    6. 使用合理的sql語句減少與數據庫的交互次數。

    7. 統計表中記錄數時使用count(),而不是count(primary_key)和count(1)。

以上就是mysql建表需要注意什么的簡略介紹,當然詳細使用上面的不同還得要大家自己使用過才領會。如果想了解更多,歡迎關注億速云行業資訊頻道哦!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

将乐县| 云和县| 中卫市| 都匀市| 德州市| 清丰县| 天祝| 乐平市| 广平县| 巨野县| 崇信县| 乌兰察布市| 乳源| 浦江县| 淮北市| 略阳县| 诸城市| 冀州市| 榆社县| 彰化市| 漾濞| 翼城县| 太仓市| 新乡县| 东乌珠穆沁旗| 远安县| 昌图县| 阿克苏市| 高青县| 新民市| 崇信县| 海阳市| 读书| 南城县| 苗栗市| 漠河县| 河池市| 南开区| 兴国县| 织金县| 哈密市|