亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

樟树市| 阳江市| 长治县| 嫩江县| 福清市| 汕头市| 郎溪县| 宜都市| 静海县| 翁源县| 宜兰市| 宁阳县| 台南市| 丹东市| 毕节市| 清水河县| 合江县| 富宁县| 武宁县| 北海市| 司法| 吕梁市| 五大连池市| 中卫市| 朝阳区| 锡林浩特市| 庆安县| 汾阳市| 叶城县| 蒙自县| 团风县| 无棣县| 尤溪县| 遵义市| 五指山市| 琼中| 顺昌县| 尼勒克县| 蒲城县| 寿宁县| 塔城市|