json - 如何在 Sql server 中正确索引计算的 json 列?
问题描述
我已按照 Microsoft here中关于如何索引 json 字段的指南进行操作。
这是一个例子:
ALTER TABLE Sales.SalesOrderHeader
ADD vCustomerName AS JSON_VALUE(Info,'$.Customer.Name')
CREATE INDEX idx_soh_json_CustomerName
ON Sales.SalesOrderHeader(vCustomerName)
我有 2 个计算列(我认为应该没关系),然后我收到此警告:
警告!非聚集索引的最大键长度为 1700 字节。索引“IX_vType_vTime”的最大长度为 16000 字节。对于较大值的某些组合,插入/更新操作将失败。
这似乎是合法的,因为 JSON_VALUE 返回 nvarchar(4000),因此最大值为 16000 字节。有什么需要做的吗?
例如,在计算期间转换为 nvarchar(50)?
解决方案
推荐阅读
- c++ - 无法理解这个“消息序列不匹配错误”
- python-3.x - python中两个数据帧之间的Wilcoxon秩和检验
- firebase - 使用 get() 对 Firestore 安全规则缺少权限或权限不足
- java - ListView 最大高度
- swift - 什么是 EXC_BAD_ACCESS(代码=2,地址=0x16f39fff8)?
- kotlin - 我如何在 kotlin 中拆分字符串
- php - 在创建另一个数组后在 php 中使用 array_combine 时,数据被覆盖
- google-developer-tools - 每次打开开发人员工具时停止显示 Google 最新消息
- bash - 使用 shell 命令从网站上抓取/下载 mp3 文件
- java - 在 Java 中读取图形的邻接列表时,如何避免重复边?