数据中不要用无序GUID做主键或者聚集索引
跟着阿笨一起玩NET
共 380字,需浏览 1分钟
·
2022-03-05 20:23
GUID的最重要问题是默认情况下它不是连续的. 当你将GUID用作主键并将其设置为表的聚集索引(默认设置)时,这会在插入时带来严重的性能问题(因为插入新记录可能需要对现有记录进行重新排序).
所以,永远不要为你的实体使用 Guid.NewGuid() 创建ID!.
无序GUID作为主键以及作为聚集索引所带来的问题包括:
空间的浪费以及由此带来的读写效率的下降。
更主要的,存储的碎片化(fragmentation)以及由此带来的读写效率严重。
所以,尽量避免用GUID(无序或有序)做主键,不要用无序GUID做聚集索引。
评论