看板 Database 關於我們 聯絡資訊
※ 引述《jj09 (YA!春天快來了...)》之銘言: : 在SQL Server上設計資料表格時 : 難免都會遇到PrimaryKey(PK) : 要選擇使用int或uniqueidentifier資料型態 : 爬過Google大神後 : 多數的人還是比較推使用int : 主要原因是在於存取效能與資料長度二個因素下 : 最後選擇int : 因此想詢問大家 : 當版友們在設計一個軟體 : 這個軟體的使用者除了對公司內部份 : 同時外部的一般人也會是使用者的一部份 : 會如何選擇 : 為什麼會做這樣的選擇? : 對我來說 : 為了要避免外部和內部使用者在試著用 : 可以預期PK的狀況去嘗試讀取別的資料紀錄 : 會選擇可能失去效能與儲存空間的狀況下 : 選擇uniqueidentifier 首先..你表達的還滿不清楚的, 無法理解你所說的,PK在外部使用者和內部使用者會產生不同的狀況, 通常,會使用uniqueid為的是分散式的資料庫, 因為uniqueid的唯一性,使得想個資料庫資料合併時, 省去了相當多的麻煩, 而另一個好處就是,你可以在程式中產生,而且在寫進資料庫"前"就知道他的ID, 很多時候PK使用int時,我們會讓他自動+1, 可是這時候,只有在這筆資料寫進資料庫"後",你才會知道他的ID是多少, 如果你不是分散式資料庫,又或是小系統,輕型資料庫(在行動裝置上面跑的), 在效能和空間是有必要的考量時,當然是使用int, 因為他快得多了, 而uniqueid這個東西,你就得看產生的機制了, 有些狀況,後產生的uniqueid會比之前的uniqueid還大, 這樣就沒有那麼嚴重的效能問題(index 不用重排), 不過也有些server雖然後產生的uniqueid會比之前的uniqueid還大, 可是在重開機後,規則就亂掉了, 建議先測試一下。 -- 我覺得IE11是世界上最強的瀏覽器了 ▁▁▁▁ 其他的應該廢除 ██ - □–□ 如果各位有興趣的話,可以現在開始下載 只要Google下載Internet Explorer   ψBigLoser 因為我們只會支援精英瀏覽器,絕對不會接受垃圾 ψdohProject //█◣ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.249.104.106 ※ 文章網址: http://www.ptt.cc/bbs/Database/M.1410154179.A.505.html