单个字段的索引与联合主键中的索引是否构成重复?

niuzhouhai 2016-09-03 08:47:59
startdate和id这两个字段为联合主键,所以应该自动就有了对应的索引了吧?
如果再单独创建一个startdate的索引,是否有重复索引的嫌疑?
...全文
568 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
唐诗三百首 2016-09-03
  • 打赏
  • 举报
回复
startdate和id这两个字段为联合主键,所以应该自动就有了对应的索引了吧? --> 是的, 主键约束默认对应一个聚集索引. 如果再单独创建一个startdate的索引,是否有重复索引的嫌疑? --> 不重复, 索引字段不同,作用不同. 还有一个问题,我现在创建索引的时候都没有设置填充因子的参数,我只关心读效率,并不关心写效率,这样做对吗? --> 建议按系统默认填充因子即可,读效率主要取决于SQL写法和字段索引. 与索引填充因子关系不大.
卖水果的net 2016-09-03
  • 打赏
  • 举报
回复
引用 3 楼 gzronald70 的回复:
联合主键中的那个索引应该是数据库自动的吧?我没创建过联合主键的索引啊,我总共只创建过一个单独字段startdate的索引,至于那个联合主键,应该是因为主键的原因,被数据库自动创建的吧?
主键也是用户指定的,数据库自己不会建议主键国
niuzhouhai 2016-09-03
  • 打赏
  • 举报
回复
引用 2 楼 wmxcn2000 的回复:
[quote=引用 楼主 gzronald70 的回复:] startdate和id这两个字段为联合主键,所以应该自动就有了对应的索引了吧? 如果再单独创建一个startdate的索引,是否有重复索引的嫌疑?
这个要看你的主键,如何建立的; create index ix1 on t(startdate, id) create index ix1 on t(id, startdate ) 如果是前者,你再startdate 上建立一个索引,就没有必要了;[/quote] 联合主键中的那个索引应该是数据库自动的吧?我没创建过联合主键的索引啊,我总共只创建过一个单独字段startdate的索引,至于那个联合主键,应该是因为主键的原因,被数据库自动创建的吧?
卖水果的net 2016-09-03
  • 打赏
  • 举报
回复
引用 楼主 gzronald70 的回复:
startdate和id这两个字段为联合主键,所以应该自动就有了对应的索引了吧? 如果再单独创建一个startdate的索引,是否有重复索引的嫌疑?
这个要看你的主键,如何建立的; create index ix1 on t(startdate, id) create index ix1 on t(id, startdate ) 如果是前者,你再startdate 上建立一个索引,就没有必要了;
niuzhouhai 2016-09-03
  • 打赏
  • 举报
回复
还有一个问题,我现在创建索引的时候都没有设置填充因子的参数,我只关心读效率,并不关心写效率,这样做对吗?

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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