国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

數據庫設計及日常使用規范-數據庫設計

2019-11-09 13:28:20
字體:
來源:轉載
供稿:網友

以下內容來源于公司DBA的分享,做個記錄,便于日后自己翻閱,也分享出來共同學習,如果有不合理的或不完善,也請指出。

表和列命名規則

表和列全部使用小寫。表名稱推薦以業務線開頭,后跟子系統,下劃線分割。列的命名禁止使用數據庫或系統的保留字,比如type、order、number、limit、date、from、where等。敏感字段的命名方式,手機號統一使用mobile,不同業務的手機號加前綴,比如alipay_mobile。身份證使用id_number。登錄名使用user_name 。帳號相關使用account,比如alipay_account,pay_account。

建表原則

無特殊需求字符集使用utf8。存儲引擎使用innodb。表上自增長ID做主鍵。單表字段數上限控制在20-50之間。Text及大字段類型單獨存在一張表中,和業務表分離。不同的業務創建不同的表,避免在一個表中存所有的字段。經常使用的字段存在同一張表中,不常用的字段單獨存放在另一張表中。使用enum代替varchar,Enum實際存的tinyint。表中字段盡量都是NOT NULL,根據需要設置DEFAULT值。

表維護

新增字段時,添加到表的最后,禁業添加到某列之前或之后(after、before)。同一表上增加或修改多個字段時,合并成一條并更語句。例:    alter table table_a add a ..;    alter table table_a add b ..;合并:    alter table table_a     add a ..    add b .. ;

用好數值類型

tinyint(占用1字節)、smallint(占用2字節)、mediumint(占用3字節)、int(占用4字節)、bigint(占用8字節)。根據最大值范圍選擇合理的類型。如果不需要存負數,就用無符號unsigned。存儲精確浮點數必須使用 DECIMAL 替代 FLOAT 和 DOUBLE。例:decimal(10,2)選擇性很少的狀態status、type等字段使用tinyint。不同的數值類型占用字節數及取值范圍。

用好日期類型

常用的三種類型Datetime(占用5字節)、date(占用3字節)、timestamp(占用4字節)建議使用timestamp,如不需要時間信息,使用date。下圖為日期類型所占用字節數

盡可能的使用數值代替字符串

使用數值:占用空間小、查詢更快、高效。例如:IP字段轉換成數值存儲 int unsigned            使用函數 inet_aton () 和 inet_ntoa()

目前表中有text字段

如果沒有特殊需求,禁止使用select * 。需要那些信息就select 那些字段,否則,會造成大量的資源浪費,造成網絡間傳輸大量信息。

創建索引

索引命名ind_表名_列名組合唯一性索引uni_表名_列名組合重復值較多的列,不適合建索引。索引創建過多,影響insert 和 update 速度,控制好索引數量。創建索引時咨詢DBA。

程序端

程序端禁止使用set語句,包括set names、set sql_mode等禁業連接主庫進行大的統計和查詢,如有統計需求,聯系DBA,商量解決。

外鍵

好處:保證數據的一致性。缺點:需要額外的鎖,高并發環境下,性能會下降。會對父記錄加一個共享讀鎖

數據庫日常操作

添加數據庫和帳戶統一由DBA來做。創建表和添加字段統一由DBA來做。如有大批量的插入或更新數據,提前郵件告知,和DBA商量解決辦法,以免造成主庫的阻塞和從庫的大量延遲。禁止在沒有提前通知的情況下,大批量的插入或更新數據。有推廣大促等導致數據庫流量增加的活動,請提前通知DBA。主庫上禁業跑大統計及查詢,如有特殊需求,請提前通知DBA。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 奎屯市| 太原市| 延庆县| 平塘县| 什邡市| 张家港市| 普宁市| 卓尼县| 明水县| 当涂县| 公安县| 龙州县| 新津县| 剑川县| 同心县| 定南县| 泸溪县| 阜宁县| 邹城市| 咸宁市| 临安市| 临泉县| 临湘市| 杭州市| 新乡县| 兴和县| 淅川县| 延津县| 自治县| 嘉义县| 长白| 连山| 古交市| 丹凤县| 剑河县| 汾阳市| 延寿县| 改则县| 化德县| 长宁区| 五河县|