mysql自帶查詢優(yōu)化,mysql數(shù)據(jù)庫設計與優(yōu)化?
首先使用約束可以確保表數(shù)據(jù)的準確完整和唯一性;
其中常見的約束有
PRIMARY KEY, DEFAULT, UNIQUE, FOREIGN KEY,NOT NULL
一般情況下:DEFAULT 和 NOT NULL是會限制的,可以確保數(shù)據(jù)完整避免程序邏輯不夠嚴謹造成的系統(tǒng)異常。但也不是絕對的,如果是后期優(yōu)化還要考慮現(xiàn)有數(shù)據(jù)是否會造成沖突。
PRIMARY KEY 在大對數(shù)情況下會設置作為業(yè)務數(shù)據(jù)的唯一標識符。但一些關系表一般可以不設置。有人說PRIMARY KEY 必須自增,其實也未必。得就實際業(yè)務需求而定。
UNIQUE 約束可以保證一列或者多列組合值都是唯一的。可以提升這一列的搜索效率。但同樣也得考慮歷史數(shù)據(jù)的情況。
當然以上情況只是經(jīng)驗之談,具體數(shù)據(jù)庫的優(yōu)化一定是根據(jù)實際的業(yè)務邏輯進行的。可能沒有什么必須遵守不可違背的定律。
只要符合業(yè)務需求并且能夠提升業(yè)務效率,就是合理的設計。