這裡的建表建議是在mysql資料庫的innodb儲存引擎下使用。
1、一定要設定主鍵,且主鍵盡量用自增id去實現。
對於innodb,並沒有強制我們使用主鍵,但是其實innodb內部的實現是必定含有主鍵的,因為我們的資料是存放在主鍵索引的b+樹上的。對於沒有建立主鍵的表,innodb會預設生成乙個主鍵,但是這個主鍵我們是不可見的。而使用主鍵我們盡量用int或者bigint型別為主鍵,並且設定為自增。這裡是考慮到mysql在做插入資料時,能夠更快的找到新插入主鍵的位置,提公升速度,而數值型的主鍵更好去比較,自增的主鍵,會插入到最後乙個節點上,這裡減少了節點查詢和樹節點平衡移動的時間。如果使用的是隨機生成的uuid,效率上會有一定的慢,乙個是uuid是乙個字元型,比較的速度會慢,另外就是插入可能不是最後乙個節點,把時間浪費在節點的移動和平衡上了。
2、某些字段如果插入時確定是永遠不可能為空的,那麼設定為not null。
這裡是考慮到是否為空的情況,innodb會為是否為空這個條件設計更多的考慮和儲存,特別是對於索引字段,會消耗一些效能 。
3、索引規範:唯一索引以uk_開頭,其他索引以idx_開頭
這只是乙個規範而已,沒有太多的討論。
4、如果是乙個部門公用乙個資料庫,且部門有多個業務線,建議建表的時候按照不同的業務設定不同的表字首。
例如:採購purchase_開頭,商品item_開頭,資料data_開頭
mysql建立使用者表 mysql 建庫建表建使用者
1.建立資料庫 create database school 2.使用資料庫 use school 3.建立使用者 create user jame localhost identified by jame 4.授權使用者 注意這裡是用了 哦,可以自己講school也替換成 號 grant sele...
mysql建表思路 MySQL 建表思路
思想 硬碟如倉庫,表如倉庫中貨架 常用與不常用等分類 欄位如貨物 尺寸是固定或變動 訪問貨物涉及到貨架的佔位 效率。資料型別選用,建表思路,正規化 資料型別特點 資料型別的速度關係 最快 整形 date,time char,enum varchar text blob 最慢 char 與 varch...
mysql建表建索引6 mysql建表建索引
建表 create table sj projects id int 11 not null auto increment,title varchar 255 not null default comment 專案名稱 platform id int 11 not null default 0 co...