我已经创建了一个计算列,它是检查cs_file = (checksum([date],[file_name]))
,该列用于搜索某个特定日期的文件是否已经存在(使用校验和提高性能)。选择代码:
select * from files where cs_file = checksum(@date,@filename) and date = @date and @filename = filename
该列已编入索引。保持计算列的持久化会提高性能吗?桌子不太大。插入其中的数据约为每天250行。
发布于 2014-04-11 09:16:32
对于持久化列和非持久化列,索引之间的性能没有差别。
然而,我几乎不相信你需要它,一个复合索引(日期,file_name)或反过来,取决于选择性,应该足够了。
我建议在会话中激活SET STATISTICS IO ON
选项,并在执行查询之后使用和不使用计算列上的索引以及(date,file_name)上的索引检查逻辑读取。越少越好:)
https://stackoverflow.com/questions/23006732
复制相似问题