建表規(guī)則1,、【強制】表達是與否概念的字段,必須使用is_xxx的方式命名,,數(shù)據(jù)類型是unsigned tinyint(1表示是,,0表示否)。
2、【強制】表名,、字段名必須使用小寫字母或數(shù)字,,禁止出現(xiàn)數(shù)字開頭,禁止兩個下劃線中間只出現(xiàn)數(shù)字,。數(shù)據(jù)庫字段名的修改代表很大,因為無法進行預發(fā)布,,所以字段名稱需要慎重考慮,。
3、【強制】表名不使用復數(shù)名詞。
4,、【強制】禁用保留字,如desc,、range,、match、delayed等,,請參考Mysql官方保留字,。 5、【強制】主鍵索引名為pk字段名,;唯一索引名為uk字段名,;普通索引名則為idx_字段名
6、【強制】小數(shù)類型為decimal,,禁止使用float和double,。
7、【強制】如果存儲的字符串的字符長度幾乎相等,,使用char定長字符串類型,。 8、【強制】varchar是可變長字符串,,不預先分配存儲空間,,長度不要超過5000,如果存儲長度大于此值,,定義字段類型為text,,獨立出來一張表,用主鍵來對應,,避免影響其它字段索引效率,。 9,、【強制】表必備三個字段:id,gmt_created,,gmt_modified,。
10,、【推薦】表的命名最好是加上”業(yè)務名稱_表的作用”。
11,、【推薦】庫名與應用名稱盡量一致,。 12、【推薦】如果修改字段含義或?qū)ψ侄伪硎镜臓顟B(tài)追加時,,需要及時更新字段注釋,。 13、【推薦】字段允許適當冗余,,以提高查詢性能,,但必須考慮數(shù)據(jù)一致。冗余字段應遵循:1)不是頻繁修改的字段,。2)不是varchar超長字段,,更不能是text字段。
14,、【推薦】單表行數(shù) 超過500萬行或者表單容量超過2GB,,才推薦進行分庫分表。 說明:如果預計三年后的數(shù)據(jù)根本達不到這個級別,,請不要在創(chuàng)建表時就分庫分表,。 15、【參考】合適的字符存儲長度,,不但節(jié)約數(shù)據(jù)庫表空間,、節(jié)約索引存儲,更重要的是提升檢索速度。
備注:來自阿里巴巴Java開發(fā)手冊 |
|
來自: maomaogui1987 > 《mysql》