<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          數(shù)據(jù)庫設(shè)計(jì)規(guī)范,需要注意幾點(diǎn)!

          共 1667字,需瀏覽 4分鐘

           ·

          2020-08-30 18:57

          引擎規(guī)范

          非特殊情況下,默認(rèn)選擇Innodb,支持事務(wù)、行級(jí)鎖,并發(fā)性能更好。


          編碼規(guī)范

          UTF-8


          表設(shè)計(jì)規(guī)范

          必須有主鍵

          主鍵遞增,可提高寫入性能,減少碎片


          禁止使用外鍵

          降低表之間的耦合,不要涉及更新操作的級(jí)聯(lián),并發(fā)高情況極度影響SQL性能


          字段設(shè)計(jì)規(guī)范

          必須有注釋

          不然鬼才知道代表什么意思


          必須NOT NULL

          null的列不能使用索引


          整形

          默認(rèn) int(11) 0。int(11)代表顯示長度,在勾選無符號(hào)unsigned并且填充零zerofill后如果長度不夠11位會(huì)自動(dòng)補(bǔ)零,如插入1,顯示00000000001,選擇需要為unsigned。


          字符串

          默認(rèn)空字符串


          時(shí)間

          非current_timstamp(mysql5版本不支持該語法)默認(rèn)'1970-01-01 08:00:01',date類型無時(shí)分秒



          通用字段

          create_time(created_at):創(chuàng)建時(shí)間,默認(rèn)current_timestamp

          update_time(updated_at):更新時(shí)間,默認(rèn)current_timestamp,on update current_timestamp

          is_deleted:邏輯刪除標(biāo)志位,視情況選擇


          禁止使用text\blob

          浪費(fèi)磁盤和內(nèi)存空間,影響數(shù)據(jù)庫性能


          金額禁止使用小數(shù)存儲(chǔ)

          盡量使用分或者更小的單位用整數(shù)存儲(chǔ),否則精度的問題會(huì)很麻煩


          命名規(guī)則

          表、列

          使用業(yè)務(wù)模塊開頭,如tb_order,列名以下劃線分割


          索引

          create_time、update_time必須包含索引


          主鍵索引

          數(shù)據(jù)庫自動(dòng)


          唯一索引、組合唯一索引

          uk_colName_colName


          普通索引、組合普通索引

          idx_colName_colName


          建表示例

          CREATE TABLE `user` (  `id` int unsigned NOT NULL AUTO_INCREMENT,  `username` varchar(128) NOT NULL DEFAULT '' COMMENT '用戶名',  `cert_no` varchar(64) NOT NULL DEFAULT '' COMMENT '身份證號(hào)',  `gender` tinyint NOT NULL DEFAULT '0' COMMENT '性別0女1男',  `active_date` date NOT NULL DEFAULT '1970-01-01' COMMENT '激活時(shí)間',  `inactive_time` datetime NOT NULL DEFAULT '1970-01-01 08:00:01' COMMENT '失效時(shí)間',  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間',  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時(shí)間',  PRIMARY KEY (`id`),  UNIQUE KEY `idx_cert_no` (`cert_no`) USING BTREE,  KEY `idx_username_gender` (`username`,`gender`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8;

          后臺(tái)回復(fù)“加群”,帶你進(jìn)入高手如云交流群


          推薦閱讀:


          因?yàn)橐粋€(gè)空格引發(fā)的編程“慘案“
          我用一個(gè)腳本把系統(tǒng)升級(jí)到https,而且永久免費(fèi)!
          模擬一次超過 5 萬的并發(fā)用戶,你會(huì)嗎?
          LeetCode1-20題匯總,速度收藏!


          瀏覽 52
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日韩国产无码一区 | 五月丁香性爱 | 韩国一区二区在线播放 | 美国av小说网站在线观看 | 男人天堂2024在线 |