关于数据库建立索引的问题

power0811 2012-11-25 11:21:32
我在网上看到说聚簇索引最好建立在自增长的ID上面, 譬如mysql的ID, 然后作为主键并在该主键上建立聚簇索引
可又看到一篇文章是这样说的:在一个频繁发生插入操作的表上建立聚簇索引时,不要建在具有单调上升值的列(如IDENTITY)上,否则会经常引起封锁冲突。

到底哪个对呢? 为什么, 迷茫了
...全文
134 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
商科程序员 2012-11-27
  • 打赏
  • 举报
回复
索引就是在插入的时候费一袋烟工夫,为的是让在你查询时省一袋烟工夫。 如果你的表查询是主需求,那你建索引;如果插入是主需求,那可以不建索引。
iihero 2012-11-27
  • 打赏
  • 举报
回复
引用 4 楼 power0811 的回复:
我是想问这两篇文章到底谁说的对呢?
聚簇索引最好建立在自增长的ID上面, 譬如mysql的ID, 然后作为主键并在该主键上建立聚簇索引 >>: 为了查询方便,也无不可。 可又看到一篇文章是这样说的:在一个频繁发生插入操作的表上建立聚簇索引时,不要建在具有单调上升值的列(如IDENTITY)上,否则会经常引起封锁冲突。 >>:是易引起冲突,但也是值得的。 两文侧重点不一样。
power0811 2012-11-27
  • 打赏
  • 举报
回复
有人指教下么
rucypli 2012-11-27
  • 打赏
  • 举报
回复
引用 楼主 power0811 的回复:
我在网上看到说聚簇索引最好建立在自增长的ID上面, 譬如mysql的ID, 然后作为主键并在该主键上建立聚簇索引 可又看到一篇文章是这样说的:在一个频繁发生插入操作的表上建立聚簇索引时,不要建在具有单调上升值的列(如IDENTITY)上,否则会经常引起封锁冲突。 到底哪个对呢? 为什么, 迷茫了
第二个说法就是放屁
power0811 2012-11-26
  • 打赏
  • 举报
回复
我是想问这两篇文章到底谁说的对呢?
ACMAIN_CHM 2012-11-26
  • 打赏
  • 举报
回复
可又看到一篇文章是这样说的:在一个频繁发生插入操作的表上建立聚簇索引时,不要建在具有单调上升值的列(如IDENTITY)上,否则会经常引起封锁冲突。 索引本身就是在插入的时候多花一点时间来提高查询时的效率
Rotel-刘志东 2012-11-26
  • 打赏
  • 举报
回复
各有利弊想提高想提高查询速度,其他就得有所牺牲。
iihero 2012-11-26
  • 打赏
  • 举报
回复
想提高查询性能往往总是有牺牲的。

57,062

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧