Sql 文本列上索引视图的替代方法

Sql 文本列上索引视图的替代方法,sql,sql-server,Sql,Sql Server,我有一个数据库表,我不拥有,也不控制从另一个系统加载的数据库表-所有字段都是文本-因此显然,从性能角度来看,它对任何查询都是无用的 我想通过创建一个索引视图来解决这个问题,它只是将每个字段转换为int、date或varchar。。。但显然,您无法在文本字段上创建索引视图 我知道我可以创建一个表作为选择。。。但这是一次性的,如果有人在底层表中进行另一次加载,它不会自动更新 有没有什么方法可以从一个有text列的活动表中创建一个没有text列的活动表?您不拥有或控制它,所以我想触发器是不可能的。我可

我有一个数据库表,我不拥有,也不控制从另一个系统加载的数据库表-所有字段都是
文本
-因此显然,从性能角度来看,它对任何查询都是无用的

我想通过创建一个索引视图来解决这个问题,它只是将每个字段转换为
int
date
varchar
。。。但显然,您无法在文本字段上创建索引视图

我知道我可以创建一个表作为选择。。。但这是一次性的,如果有人在底层表中进行另一次加载,它不会自动更新


有没有什么方法可以从一个有
text
列的活动表中创建一个没有
text
列的活动表?

您不拥有或控制它,所以我想触发器是不可能的。我可以试试找零跟踪。您可以使用它来同步更改,或者触发重新加载您的表版本。如果您不能容忍同步中的任何延迟,那么这可能不适合您

如果更新是大批量的,或者只是偶尔一次完全重新加载,那么触发重新加载可能是最好的选择。在重新加载之前,请确认在大约一分钟内没有任何更改,以确保数据稳定。计划每隔几分钟运行一次的作业可以处理重新加载

如果执行更快的同步,则使用循环和等待(秒或分钟)运行脚本的作业可能会处理自上次运行或循环以来的新更改


检测更改的开销应该很小。

文本已经过时,很快就会失去支持。我建议将该表(本地或远程)复制到一个更有用的表中。您是否可以制作另一个表(使用范围更广的表)并将现有表视为“暂存”或“加载”表?e、 例如,另一个系统将数据加载到当前表中,然后一个进程从该表中获取(新)数据,对其进行清理/转换,并将其放入新表中,然后实际用于查询等?是的-这就是我的意思,这样做-但问题是-我无法控制基础表-因此我无法告诉他们在基础表重新加载时更新我的表-因此危险在于我将继续愉快地使用过时数据。您在本地运行的SQL server版本是什么?您是否有权访问2019?为什么不创建一个具体化视图,因为这些视图在基础数据更改时会自动刷新?