现在情况是数据表记录在1亿左右,已建立分区方案,根据添加时间addTime作为分区条件,但由于addTime的数据不是唯一,所以聚集索引设为addTime和Id的组合索引,目前这块没什么问题。现在需要在Name字段和正文字段 Content建立全文索引,毕竟这些字段需要模糊搜索,但是在建立全文索引时,所需要的唯一索引列不存在,因为唯一索引列必须是唯一的单列索引,而我之前因为分区而建立的唯一聚集索引是组合列,不能用,而现在再想建立一个ID的唯一非聚集索引也不行,系统提示必须是分区条件addTime的子集!!!!我快疯掉了 请各位大神支招!!!
10 个解决方案
#1
这个没办法解决了。要么就合并之后再加索引列。
话说,1亿数据也没有必要分区吧?
我几千万join几百万join几个几十万的表,也没出现什么问题啊。
话说,1亿数据也没有必要分区吧?
我几千万join几百万join几个几十万的表,也没出现什么问题啊。
#2
1亿事不多 但是要为以后打算啊 等多了再分区 不如提早分区了啊 合并不就是普通表了 那更不行了
#3
你的数据库是什么版本的
#4
1亿事不多 但是要为以后打算啊 等多了再分区 不如提早分区了啊 合并不就是普通表了 那更不行了 这个没办法解决了。要么就合并之后再加索引列。
话说,1亿数据也没有必要分区吧?
我几千万join几百万join几个几十万的表,也没出现什么问题啊。
你的数据库是什么版本的
SQL SERVER 2012
#5
各位大神好 小弟在这里请教了问题!
现在情况是数据表记录在1亿左右,已建立分区方案,根据添加时间addTime作为分区条件,但由于addTime的数据不是唯一,所以聚集索引设为addTime和Id的组合索引,目前这块没什么问题。现在需要在Name字段和正文字段 Content建立全文索引,毕竟这些字段需要模糊搜索,但是在建立全文索引时,所需要的唯一索引列不存在,因为唯一索引列必须是唯一的单列索引,而我之前因为分区而建立的唯一聚集索引是组合列,不能用,而现在再想建立一个ID的唯一非聚集索引也不行,系统提示必须是分区条件addTime的子集!!!!我快疯掉了 请各位大神支招!!!
有一个办法 你可以参考。新建一个表,先建上ID列的唯一非聚集索引。然后再把表变成分区。聚集索引就用 addtime。你的addTime和Id的组合索引好像没什么用啊.
#6
各位大神好 小弟在这里请教了问题!
现在情况是数据表记录在1亿左右,已建立分区方案,根据添加时间addTime作为分区条件,但由于addTime的数据不是唯一,所以聚集索引设为addTime和Id的组合索引,目前这块没什么问题。现在需要在Name字段和正文字段 Content建立全文索引,毕竟这些字段需要模糊搜索,但是在建立全文索引时,所需要的唯一索引列不存在,因为唯一索引列必须是唯一的单列索引,而我之前因为分区而建立的唯一聚集索引是组合列,不能用,而现在再想建立一个ID的唯一非聚集索引也不行,系统提示必须是分区条件addTime的子集!!!!我快疯掉了 请各位大神支招!!!
有一个办法 你可以参考。新建一个表,先建上ID列的唯一非聚集索引。然后再把表变成分区。聚集索引就用 addtime。你的addTime和Id的组合索引好像没什么用啊.
如果只用addTime做为聚集索引 因为他不是唯一的 所以速度会差很多
你的先设置Id为唯一非聚集索引 再设置addTime做为非唯一聚集索引 再分区的方法 可以解决全文索引没有唯一索引单列的问题 但是这样的话 这个Id索引就是建立在Primary文件组上的了 而非建立在分区方案上了
#7
@sd4424
如果addTime 重复数据不多,速度不会有很大的差异。Id索引缺失建立在Primary文件组上的了 而非建立在分区方案上。
不过目前看来没有其他合适的方法。。或者你用ID来做分区?当时为什么选addtime来分区呢。
如果addTime 重复数据不多,速度不会有很大的差异。Id索引缺失建立在Primary文件组上的了 而非建立在分区方案上。
不过目前看来没有其他合适的方法。。或者你用ID来做分区?当时为什么选addtime来分区呢。
#8
@sd4424
如果addTime 重复数据不多,速度不会有很大的差异。Id索引缺失建立在Primary文件组上的了 而非建立在分区方案上。
不过目前看来没有其他合适的方法。。或者你用ID来做分区?当时为什么选addtime来分区呢。
我现在的解决方案如你所说 就是以Id为依据列 一千万分一个分区 这样的确可以解决全文索引唯一单列的索引的问题 而且唯一聚集索引速度也不错 谢啦 兄弟 以后有机会多讨论
#9
本来想以时间为依据列 每年分一个区 @sd4424
如果addTime 重复数据不多,速度不会有很大的差异。Id索引缺失建立在Primary文件组上的了 而非建立在分区方案上。
不过目前看来没有其他合适的方法。。或者你用ID来做分区?当时为什么选addtime来分区呢。
我现在的解决方案如你所说 就是以Id为依据列 一千万分一个分区 这样的确可以解决全文索引唯一单列的索引的问题 而且唯一聚集索引速度也不错 谢啦 兄弟 以后有机会多讨论
客气了,,互相学习。
#10
本来想以时间为依据列 每年分一个区 @sd4424
如果addTime 重复数据不多,速度不会有很大的差异。Id索引缺失建立在Primary文件组上的了 而非建立在分区方案上。
不过目前看来没有其他合适的方法。。或者你用ID来做分区?当时为什么选addtime来分区呢。
我现在的解决方案如你所说 就是以Id为依据列 一千万分一个分区 这样的确可以解决全文索引唯一单列的索引的问题 而且唯一聚集索引速度也不错 谢啦 兄弟 以后有机会多讨论
客气了,,互相学习。
#1
这个没办法解决了。要么就合并之后再加索引列。
话说,1亿数据也没有必要分区吧?
我几千万join几百万join几个几十万的表,也没出现什么问题啊。
话说,1亿数据也没有必要分区吧?
我几千万join几百万join几个几十万的表,也没出现什么问题啊。
#2
这个没办法解决了。要么就合并之后再加索引列。
话说,1亿数据也没有必要分区吧?
我几千万join几百万join几个几十万的表,也没出现什么问题啊。
#3
1亿事不多 但是要为以后打算啊 等多了再分区 不如提早分区了啊 合并不就是普通表了 那更不行了 这个没办法解决了。要么就合并之后再加索引列。
话说,1亿数据也没有必要分区吧?
我几千万join几百万join几个几十万的表,也没出现什么问题啊。
你的数据库是什么版本的
#4
1亿事不多 但是要为以后打算啊 等多了再分区 不如提早分区了啊 合并不就是普通表了 那更不行了 这个没办法解决了。要么就合并之后再加索引列。
话说,1亿数据也没有必要分区吧?
我几千万join几百万join几个几十万的表,也没出现什么问题啊。
你的数据库是什么版本的
SQL SERVER 2012
#5
各位大神好 小弟在这里请教了问题!
现在情况是数据表记录在1亿左右,已建立分区方案,根据添加时间addTime作为分区条件,但由于addTime的数据不是唯一,所以聚集索引设为addTime和Id的组合索引,目前这块没什么问题。现在需要在Name字段和正文字段 Content建立全文索引,毕竟这些字段需要模糊搜索,但是在建立全文索引时,所需要的唯一索引列不存在,因为唯一索引列必须是唯一的单列索引,而我之前因为分区而建立的唯一聚集索引是组合列,不能用,而现在再想建立一个ID的唯一非聚集索引也不行,系统提示必须是分区条件addTime的子集!!!!我快疯掉了 请各位大神支招!!!
有一个办法 你可以参考。新建一个表,先建上ID列的唯一非聚集索引。然后再把表变成分区。聚集索引就用 addtime。你的addTime和Id的组合索引好像没什么用啊.
#6
各位大神好 小弟在这里请教了问题!
现在情况是数据表记录在1亿左右,已建立分区方案,根据添加时间addTime作为分区条件,但由于addTime的数据不是唯一,所以聚集索引设为addTime和Id的组合索引,目前这块没什么问题。现在需要在Name字段和正文字段 Content建立全文索引,毕竟这些字段需要模糊搜索,但是在建立全文索引时,所需要的唯一索引列不存在,因为唯一索引列必须是唯一的单列索引,而我之前因为分区而建立的唯一聚集索引是组合列,不能用,而现在再想建立一个ID的唯一非聚集索引也不行,系统提示必须是分区条件addTime的子集!!!!我快疯掉了 请各位大神支招!!!
有一个办法 你可以参考。新建一个表,先建上ID列的唯一非聚集索引。然后再把表变成分区。聚集索引就用 addtime。你的addTime和Id的组合索引好像没什么用啊.
如果只用addTime做为聚集索引 因为他不是唯一的 所以速度会差很多
你的先设置Id为唯一非聚集索引 再设置addTime做为非唯一聚集索引 再分区的方法 可以解决全文索引没有唯一索引单列的问题 但是这样的话 这个Id索引就是建立在Primary文件组上的了 而非建立在分区方案上了
#7
@sd4424
如果addTime 重复数据不多,速度不会有很大的差异。Id索引缺失建立在Primary文件组上的了 而非建立在分区方案上。
不过目前看来没有其他合适的方法。。或者你用ID来做分区?当时为什么选addtime来分区呢。
如果addTime 重复数据不多,速度不会有很大的差异。Id索引缺失建立在Primary文件组上的了 而非建立在分区方案上。
不过目前看来没有其他合适的方法。。或者你用ID来做分区?当时为什么选addtime来分区呢。
#8
@sd4424
如果addTime 重复数据不多,速度不会有很大的差异。Id索引缺失建立在Primary文件组上的了 而非建立在分区方案上。
不过目前看来没有其他合适的方法。。或者你用ID来做分区?当时为什么选addtime来分区呢。
我现在的解决方案如你所说 就是以Id为依据列 一千万分一个分区 这样的确可以解决全文索引唯一单列的索引的问题 而且唯一聚集索引速度也不错 谢啦 兄弟 以后有机会多讨论
#9
本来想以时间为依据列 每年分一个区 @sd4424
如果addTime 重复数据不多,速度不会有很大的差异。Id索引缺失建立在Primary文件组上的了 而非建立在分区方案上。
不过目前看来没有其他合适的方法。。或者你用ID来做分区?当时为什么选addtime来分区呢。
我现在的解决方案如你所说 就是以Id为依据列 一千万分一个分区 这样的确可以解决全文索引唯一单列的索引的问题 而且唯一聚集索引速度也不错 谢啦 兄弟 以后有机会多讨论
客气了,,互相学习。
#10
本来想以时间为依据列 每年分一个区 @sd4424
如果addTime 重复数据不多,速度不会有很大的差异。Id索引缺失建立在Primary文件组上的了 而非建立在分区方案上。
不过目前看来没有其他合适的方法。。或者你用ID来做分区?当时为什么选addtime来分区呢。
我现在的解决方案如你所说 就是以Id为依据列 一千万分一个分区 这样的确可以解决全文索引唯一单列的索引的问题 而且唯一聚集索引速度也不错 谢啦 兄弟 以后有机会多讨论
客气了,,互相学习。