sql - 替代文本列上的索引视图
问题描述
我有一个我不拥有或控制从另一个系统加载的数据库表 - 所有字段都是Text
- 所以显然它对于任何查询性能而言都是无用的。
我想通过创建一个索引视图来解决这个问题,它只是将每个字段转换为int
,date
或varchar
......但显然你不能在文本字段上创建索引视图。
我知道我可以将创建表作为选择...但这是一次性的,如果有人再次加载到基础表中,它不会自动更新。
有没有什么办法可以让一个没有text
列的活表从一个有text
列的表中创建出来?
解决方案
你不拥有它或控制它,所以我想触发器是不可能的。我可能会尝试更改跟踪。您可以使用它来同步更改,或者触发重新加载您的表格版本。如果您不能容忍同步中的任何延迟,那么这可能不适合您。
如果更新是大批量或偶尔通过完全重新加载进行的,那么触发重新加载可能是可行的方法。验证一分钟左右没有变化,以确保数据在重新加载之前稳定。计划每隔几分钟运行一次的作业可以处理重新加载。
如果进行更快的同步,则使用循环和等待(秒或分钟)运行脚本的作业可以处理自上次运行或循环以来的新更改。
检测更改的开销应该很小。
推荐阅读
- bash - 在 Linux 控制台中截断工作目录的路径
- python - 返回矩阵的最大值
- javascript - 如何在 Angular 10 中使用 ngx-translate 翻译 ng-select 下拉值?
- python - Python Selenium:如何单击复选框的空白文本?
- c# - 在 Visual Studio(不是 VS Code)中为 C# 代码添加自定义缩进
- amazon-web-services - API 网关与 Lambda 和 DynamoDB 的集成
- anylogic - 任何逻辑的统计数据
- awk - awk 为测试元素创建一个列表
- django - 'str' 和 'int' 的实例之间不支持 /formpage '>' 处的 TypeError 错误也特定于 form.is_valid
- git - 从存储库推送和拉取