作者BigLoser (大鲁蛇)
看板Database
标题Re: [讨论] Primary Key的资料型态选择
时间Mon Sep 8 13:29:37 2014
※ 引述《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是世界上最强的浏览器了
沙歌火估I ◥▁▁▁▁ ◢
麦
其他的应该废除
发剧狐狗E ◤
██ /-
科
里 狸 □–□◢◤ 舒
如果各位有兴趣的话,可以现在开始下载
▼ㄑ ◢ 服
只要Google下载
Internet Explorer ψBigLoser ▼ㄧ /◣ 特
因为我们只会支援
精英浏览器,绝对不会接受
垃圾 ψdohProject ◢ /◣– ◤ /█◣
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.249.104.106
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Database/M.1410154179.A.505.html