1. 程式人生 > >資料庫設計與優化總結(1)

資料庫設計與優化總結(1)

一、資料庫的設計的幾點措施

1.關聯表的關聯欄位名稱必須相同。

2.欄位的定義的前兩位是表名,第三位是下劃線,保證規範。

3.常用欄位採用固定單詞,如id

4.如果只有一個索引,索引的名字希望和表名相同,如果是多個,那麼就用表明下劃線欄位名。

5.關聯欄位儘可能為數字型別。

6.表的序列欄位也就是id也要是數字

!!!什麼是索引,就是資料庫可以根據索引快速找到特定資訊。

create index 索引名 on 表名(欄位名);

什麼是主鍵,就是資料庫中唯一標識資料的欄位。

建立主鍵primary key('欄位名'),在新建表的時候加上即可,後者在地段後面加上primary key

什麼是關聯,就是兩個表由一個欄位聯絡到一起

foreign key 外來鍵名(列名) references 外表名(列名)所有的table必須是InnoDB型的。

關聯是join。

-----------------------------------------

再就是說資料庫的設計有的時候是根據客戶的需求來說的,有的時候客戶改了需求,要改資料庫很正常,但是我們在設計資料庫的時候 不要從客戶需要輸入什麼來設計,而是要根據客戶需要輸出什麼來設計。

7.選取最合適的欄位屬性,儘量節省空間,資料庫中的表越小,執行查詢就越快。在可能的情況下,儘量把欄位設定成notnull,這樣資料庫在查詢的時候不用比較null。

8.使用join來代替子查詢,就是需要從一個表中查出的結果在另一個查詢裡使用,儘量用join。

9.儘量使用事務,使用外來鍵,使用索引。

10.在同類型的欄位間進行比較,不要在有索引的欄位上使用函式操作,在搜尋字元型欄位時,有的時候會使用like%%,雖然簡單,卻犧牲了系統性能,可以使用字元的比較大小來搜尋,例如select * from a where b like "mysql%"改成

select * from a where b >="mysql" and b<="mysqm"