tft每日頭條

 > 科技

 > mysql授權表的結構與内容

mysql授權表的結構與内容

科技 更新时间:2024-08-18 18:28:35

mysql授權表的結構與内容(mysql規範之建表篇)1

1.級别:[強制] 表達是與否概念的字段,必須使用is_*** 的方式命名,數據類型是 unsigned tinyint ( 1表示是 , 0 表示否)

說明:任何字段如果為非負數,必須是 unsigned.

正例:表達邏輯删除的字段名 is_deleted ,1 表示删除,0 表示未删除。

2.級别[強制] 表名、字段名必須使用小寫字母或數字 , 禁止出現數字開頭,禁止兩個下劃線中間隻出現數字。數據庫字段名的修改代價很大,因為無法進行預發布,所以字段名稱要慎重考慮。

說明:mysql 在 windows 下不區分大小寫,但在linux 下默認是區分大小寫。因此,數據庫名,表名,字段名,都不允許出現大寫字母。

正例: qy_admin ,pay_config, leve3_name

反例:qyAdmin,payConfig,leve_3_name

3.級别[強制] 表名不使用複數名詞。

說明:mysql中表名應該僅僅表示表裡的實體内容,不應該表示實體數據,對應于DO類名也是單數形式,符合表達習慣。

4.級别[強制] 禁用保留字,如 desc ,range ,match,delayed 等。參考mysql 官方保留字。

5.級别[強制] 主鍵索引名為 pk_ 字段名;唯一索引名為 uk_字段名;普通索引名則為 idx_字段名。

說明:pk_ 即為 primary key ; uk_ 即 unique key; idx_ 即 index 的簡稱。

6.級别[強制] 小數類型為 decimal,禁止使用 float 和 double。

說明:mysql 的 float ,double 在存儲的時候,存在精度損失的問題,很可能在值的比較時,得到不正确的結果。如果存儲的數據範圍超過decimal 的範圍,建議将數據拆成整數和小數分開存儲。

7.級别[強制] 如果存儲的字符串長度幾乎相等,使用 char 定長字符串類型。

8.級别[強制] vaarchar 是可變長字符呂,不預先分配存儲空間,長度不要超過5000,如果存儲長度大于此值,定義字段類型為 text ,獨立出來一張表,用主鍵來以應,避免影響其它字段索引效率。

9.級别[強制] 表必備三個字段:id, create_time,updated_time。

說明:id必為主鍵,類型為 unsigned bigint, 支持的數字大小為19位。單表時自增,步長為1. create_time, updated_time 類型為timestamp 主動創建,另一個是表示被動更新。

10.級别[推薦] 表的命名最好是加上 "業務名稱_表的作用"。

說明:這樣能清楚的知道每個表的作用。

正例: user_task ,pay_config, force_extra

11.級别[推薦] 庫名與應用名稱盡量一緻。

12.級别[推薦] 如果修改字段含義或對字段表示的狀态追加時,需要及時更新字段注釋。

13.級别[推薦] 字段允許适當冗餘,以提高查詢性能,但必須考慮數據一緻,冗餘字段應遵循:

1)不是頻繁修改的字段。

2)不是varchar 超長字段,更不能是 text 字段。

正例: 商品類目名稱使用頻率高,字段長度短,名稱基本一成不變,可在相關聯的表中冗餘存儲類目名稱,避免關聯查詢。

14.級别[推薦] 單表行數超過500萬行或者單表容量超過2GB,才推薦進行分庫分表。

說明:mysql 如果預計三年後的數據量根本達不到這個級别,請不要在創建表時就分庫分表。

15.級别[參考] 合适的字符存儲長度,不但節約數據庫表空間,節約索引存儲,更重要的是提升檢索速度。。

說明:mysql

mysql授權表的結構與内容(mysql規範之建表篇)2

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved