不依賴於資料儲存系統是分層設計思想的精華,實現戰略效能最大化,而不是追求戰術單機效能最大化。
不要迷信資料庫效能,不要迷信三正規化,不要使用外來鍵,不要使用
byte
,不要使用自增
id,不要使用儲存過程,不要使用內部函式,不要使用非標準
sql,儲存系統只做儲存系統的事。當出現系統效能時,如此設計的資料庫可以更好的實現遷移資料庫(如
mysql->oracle)
,實現nosql
改造((mongodb/hadoop
),實現
key-value
快取(redis,memcache)。
二、 很多程式設計師有對效能認識有誤區,如使用儲存過程代替正常程式,其實使用儲存過程只是追求單伺服器的高效能,當需要伺服器水平擴充套件時,儲存過程中的業務邏輯就是你的噩運。
三、 除數字日期,能用字串儲存的字段盡量使用字串儲存,不要為節省那不值錢的1個
g的硬碟而使用類似位元組之類的字段,進而大幅犧牲系統可伸縮性和可擴充套件性。
不要為了追求所謂的效能,引入
byte
,使用byte
注定是短命和難於移植,想想為什麼
html,email
一直流行,因為它們使用的是字串表示法,只要有人類永遠都能解析,如
把二進位制轉成
base64
資料庫設計 設計資料庫之前
1.考察現有環境 在設計乙個新資料庫時,你不但應該仔細研究業務需求而且還要考察現有的系統。大多數資料庫 專案都不是從頭開始建立的 通常,機構內總會存在用來滿足特定需求的現有系統 可能沒有實 現自動計算 顯然,現有系統並不完美,否則你就不必再建立新系統了。但是對舊系統的研究 可以讓你發現一些可能會忽略...
資料庫設計 設計資料庫之前
1.考察現有環境 在設計乙個新資料庫時,你不但應該仔細研究業務需求而且還要考察現有的系統。大多數資料庫 專案都不是從頭開始建立的 通常,機構內總會存在用來滿足特定需求的現有系統 可能沒有實 現自動計算 顯然,現有系統並不完美,否則你就不必再建立新系統了。但是對舊系統的研究 可以讓你發現一些可能會忽略...
資料庫設計 設計資料庫之前
1.考察現有環境 在設計乙個新資料庫時,你不但應該仔細研究業務需求而且還要考察現有的系統。大多數資料庫 專案都不是從頭開始建立的 通常,機構內總會存在用來滿足特定需求的現有系統 可能沒有實 現自動計算 顯然,現有系統並不完美,否則你就不必再建立新系統了。但是對舊系統的研究 可以讓你發現一些可能會忽略...