小编Pxt*_*xtl的帖子

如何使索引视图适用于 SQLCLR?

在 SQL Server 中,索引视图是一个充满限制的地狱。但我需要一个。我有一个格式化程序 SQLCLR 函数,它创建域密钥的美化版本 - 用户希望能够搜索该美化版本的子字符串。因此,我需要持久计算列或物化视图上的全文索引。

但是,格式化程序依赖于存储在多个表中的数据。

因此,这适用于视图,但不适用于持久计算列,因为它们无法从多个表进行查询。

我的 SQLCLR 方法是精确确定的,因此它应该适合在索引视图中使用,但索引视图的索引键中不能包含 SQLCLR。

我可以使用 T-SQL 函数重新实现我的格式化程序FORMAT...但与索引视图不兼容FORMAT

索引视图可以做任何事情吗曾经

如果有人可以向我推荐一份关于最佳实践的好文档,我对“使用触发器滚动你自己的物化视图”方法持开放态度。上次我尝试时,它失去了控制,并且插入和更新代码与初始化之间存在巨大的重复。

我是否缺少某种方法来对几百万行的计算数据进行高性能文本搜索,而不使用物化/索引视图或持久计算列?

格式化程序不执行数据访问。但是,我需要输入格式化程序以使其有用的数据将来自多个表(具有良好的常规联接),因此我无法使用持久计算列来解决此问题。我无法为 SQLCLR 列设置键,因此无法在全文索引中使用它。

我以为这很简单。持久列和索引视图旨在在写入时执行计算,并正确实现观察者模式,以便对其依赖项的更改反映在计算值上。

sql-server materialized-view sql-clr

2
推荐指数
1
解决办法
366
查看次数

标签 统计

materialized-view ×1

sql-clr ×1

sql-server ×1