資料庫合理設計

2021-06-29 13:50:01 字數 1212 閱讀 1035

1.資料庫的設計

盡量把資料庫設計的更小的佔磁碟空間.

1).盡可能使用更小的整數型別.(mediumint就比int更合適).

2).盡可能的定義欄位為not  null,除非這個字段需要null.

3).如果沒有用到變長字段的話比如varchar,那就採用固定大小的紀錄格式比如char.

4).表的主索引應該盡可能的短.這樣的話每條紀錄都有名字標誌且更高效.

5).只建立確實需要的索引。索引有利於檢索記錄,但是不利於快速儲存記錄。如果總是要在表的組合欄位上做搜尋,那麼就在這些欄位上建立索引。索引的第一部分必須是最常使用的字段.如果總是需要用到很多字段,首先就應該多複製這些字段,使索引更好的壓縮。

6).所有資料都得在儲存到資料庫前進行處理。

7).所有欄位都得有預設值。

8).在某些情況下,把乙個頻繁掃瞄的表分成兩個速度會快好多。在對動態格式表掃瞄以取得相關記錄時,它可能使用更小的靜態格式表的情況下更是如此。

2.系統的用途

1).盡量使用長連線.

2).explain   複雜的sql語句。

3).如果兩個關聯表要做比較話,做比較的字段必須型別和長度都一致.

4).limit語句盡量要跟order   by或者   distinct.這樣可以避免做一次full   table   scan.

5).如果想要清空表的所有紀錄,建議用truncate   table   tablename而不是delete   from   tablename.

6).能使用store   procedure   或者   user   function的時候.

7).在一條insert語句中採用多重紀錄插入格式.而且使用load   data   infile來匯入大量資料,這比單純的indert快好多.

8).經常optimize   table   來整理碎片.

9).還有就是date   型別的資料如果頻繁要做比較的話盡量儲存在unsigned   int   型別比較快。

3.系統的瓶頸

1).磁碟搜尋.

並行搜尋,把資料分開存放到多個磁碟中,這樣能加快搜尋時間.

2).磁碟讀寫(io)

可以從多個媒介中並行的讀取資料。

3).cpu週期

資料存放在主記憶體中.這樣就得增加cpu的個數來處理這些資料。

4).記憶體頻寬

當cpu要將更多的資料存放到cpu的快取中來的話,記憶體的頻寬就成了瓶頸.

資料庫設計 設計資料庫之前

1.考察現有環境 在設計乙個新資料庫時,你不但應該仔細研究業務需求而且還要考察現有的系統。大多數資料庫 專案都不是從頭開始建立的 通常,機構內總會存在用來滿足特定需求的現有系統 可能沒有實 現自動計算 顯然,現有系統並不完美,否則你就不必再建立新系統了。但是對舊系統的研究 可以讓你發現一些可能會忽略...

資料庫設計 設計資料庫之前

1.考察現有環境 在設計乙個新資料庫時,你不但應該仔細研究業務需求而且還要考察現有的系統。大多數資料庫 專案都不是從頭開始建立的 通常,機構內總會存在用來滿足特定需求的現有系統 可能沒有實 現自動計算 顯然,現有系統並不完美,否則你就不必再建立新系統了。但是對舊系統的研究 可以讓你發現一些可能會忽略...

資料庫設計 設計資料庫之前

1.考察現有環境 在設計乙個新資料庫時,你不但應該仔細研究業務需求而且還要考察現有的系統。大多數資料庫 專案都不是從頭開始建立的 通常,機構內總會存在用來滿足特定需求的現有系統 可能沒有實 現自動計算 顯然,現有系統並不完美,否則你就不必再建立新系統了。但是對舊系統的研究 可以讓你發現一些可能會忽略...