回答

收藏

创建没有聚簇索引的mysql主键?

技术问答 技术问答 264 人阅读 | 0 人回复 | 2023-09-12

我是一名SQL
8 |& b2 g& d8 V# [/ }' rServer专家们正在尝试使用即将到来的大型项目(许可证)MySQL,但在没有聚簇索引的情况下创建主键的方式方面我找不到很多信息。我在5.阅读的所有文档都说主键会自动获得聚簇索引。因为我在主键列(GUID)上使用了binary(16)所以我宁愿不使用聚簇索引。…9 X# [- n! r+ X; t' D2 J$ N
[ol]没有聚簇索引的主键能创建吗?我总能把聚簇索引放在一起date_created但是如何防止呢?mysql在主键上自动创建聚集索引?" P3 V( \# n1 _
若不可能,在GUID我能在表上有唯一的索引,没有主键吗?我打算在这里使用它nhibernate,所以不确定是否没有主键(还没到此为止)。[/ol]                                                                1 z+ ~4 L  ~" O* L$ y* F" J
    解决方案:                                                               
7 y. o7 ?) j6 x; p7 F3 M                                                                考虑关于13.6.10.1内容。聚簇索引和二级索引似乎无法真正定义聚簇索引设置在哪一列:3 p0 Z0 P' b2 h9 ^7 s/ I5 K/ n
在PK列上3 H* B8 d: s. g) Z- m4 e" w4 @
或者在第一列具有唯一索引(只有非空值)( p: P% _7 x* `9 E  P) @; g4 e
或者在某些内部列-对你没那么有用^^
关于你帖子中的第二个问题:表格上没有PK,GUID上有UNIQUE索引;可能,但它不会改变聚簇索引的任何内容:它仍然可能GUID列上。
" Z7 ]+ `* f% f( @$ l- R某种骇客可能是:
5 G9 ^2 q2 ?9 P- j% k. Z- r9 J  d主键没有定义7 ^5 ^) ]5 A0 |6 a
在date_created在字段上放UNIQUE索引(如果你在短时间内没有创建太多可能是可行的…)
不确定是否可以在GUID第二个放在上面UNIQUE
. F$ |' q9 `1 j2 W索引可能值得一试。…
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则