mysql建表規(guī)范

  1. 存儲(chǔ)引擎必須使用InnoDB
    InnoDB 支持事物,行級(jí)鎖,并發(fā)性能更好,CPU以及內(nèi)存優(yōu)化更高
  2. 必須設(shè)置主鍵ID,并且使用主鍵自增,除非是在分庫(kù)分表的環(huán)境下
    由于InnoDB的組織數(shù)據(jù)的方式?jīng)Q定了需要有一個(gè)主鍵,而且若是這個(gè)主鍵ID是單調(diào)遞增的可以有效提高插入的性能,避免過(guò)多的頁(yè)分裂,減少表碎片提高空間的使用率。
  3. 使用utf8m64字符集
    mysql中UTF-8并非是“真正的UTF-8”,而“utf8m64”才是真正的“UTF-8”。
  4. 庫(kù)名,表名字段名均小寫,下劃線風(fēng)格,不超過(guò)32個(gè)字符。
  5. 單表列數(shù)必須小于30,若超過(guò)則應(yīng)該考慮將表拆分
    單表列表太多是的Mysql服務(wù)器處理InnoDB返回?cái)?shù)據(jù)之間的映射成本太高。
  6. 禁止使用外鍵,如果有外鍵約束,需要應(yīng)用程序控制
    外鍵會(huì)導(dǎo)致表與表之間耦合,UPDATE與DELETE操作都會(huì)涉及相關(guān)聯(lián)的表,十分影響SQL的性能,甚至?xí)斐伤梨i
  7. 必須把字段定義為NOT NULL并且提供默認(rèn)值
  • NULL的列使的索引/索引統(tǒng)計(jì)/值比較更加復(fù)雜,對(duì)MySQL來(lái)說(shuō)更難優(yōu)化
  • NULL這種類型MySQL內(nèi)部需要特殊處理,增加數(shù)據(jù)庫(kù)處理記錄的復(fù)雜性;同等條件下,表中有較多空字段的時(shí)候,數(shù)據(jù)庫(kù)的處理性能會(huì)降低很多
  • NULL值需要更多存儲(chǔ)空間,無(wú)論是表還是索引每行中的NULL列需要額外的空間來(lái)標(biāo)識(shí)
  1. 在一些場(chǎng)景下,考慮使用TIMESTAMP代替DATETIME
  • TIMESTAMP只需要占用4個(gè)字節(jié)長(zhǎng)度,可以存儲(chǔ)范圍為(1970-2038)年,
  • 而DATETIME類型占用8個(gè)字節(jié),對(duì)時(shí)區(qū)不敏感,可以存儲(chǔ)的范圍為(1001-9999)年
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、 表設(shè)計(jì) 庫(kù)名、表名、字段名必須使用小寫字母,“_”分割。 庫(kù)名、表名、字段名必須不超過(guò)12個(gè)字符。 庫(kù)名、表...
    行動(dòng)家雷程文閱讀 420評(píng)論 0 0
  • 一、 表設(shè)計(jì)庫(kù)名、表名、字段名必須使用小寫字母,“_”分割。庫(kù)名、表名、字段名必須不超過(guò)12個(gè)字符。庫(kù)名、表名、字...
    上街買菜丶迷倒老太閱讀 4,138評(píng)論 2 7
  • 1、庫(kù)名、表名、字段名全部使用小寫字母,用'_'下劃線分割,且名字長(zhǎng)度不超過(guò)12,做到見(jiàn)名知意。2、建議使用Ino...
    韓金鋮閱讀 945評(píng)論 0 0
  • 合理、適當(dāng)?shù)囊?guī)范對(duì)于整個(gè)團(tuán)隊(duì)的開(kāi)發(fā)是有積極作用的,可以減少不恰當(dāng)?shù)慕ū碚Z(yǔ)句、錯(cuò)誤 SQL、錯(cuò)誤的索引等重大意義,故...
    趙客縵胡纓v吳鉤霜雪明閱讀 470評(píng)論 0 7
  • 建表規(guī)約 【強(qiáng)制】:①存儲(chǔ)引擎必須使用 InnoDB 解讀:InnoDB 支持事物、行級(jí)鎖、并發(fā)性能更好,CPU ...
    風(fēng)崋閱讀 289評(píng)論 0 0

友情鏈接更多精彩內(nèi)容