无法创建我需要的索引

wwfxgm 2018-12-12 07:55:41
我想创建索引视图,
但是没有想想那么简单,首先,我这个视图,也没有ID(相当于唯一的值)。 就是无法创建索引视图
drop view if exists dbo.jcckd;
GO

CREATE VIEW [dbo].[JCCKD] with SCHEMABINDING
AS
SELECT
--A.ID,
A.xn,
A.xq ,
D.xy ,
A.lsrdw,
C.isbn ,
C.jcmc ,
C.cbs ,
C.bb ,
C.jczz,
C.price,
C.gys,
C.zk,
SUM ( B.qty ) AS cs,
'116#' sjh,
count_big(*) rn
FROM
dbo.OrderHeader A
INNER JOIN dbo.OrderDetail B ON A.ID = B.orderid
INNER JOIN dbo.abc D ON D.id = a.custid
INNER JOIN dbo.jcjbxxb C ON B.bookid = C.id
WHERE

a.qty > 0
AND a.type = 1

GROUP BY
--A.id,
A.xn,
A.xq,
D.xy,
A.lsrdw,C.isbn ,
C.jcmc ,
C.cbs ,
A.lsrdw ,
C.bb ,
C.jczz,
C.price,
c.gys,
C.zk
;
go


create unique clustered index IX_lsrdw_isbn_gys on jcckd(xn,xq,lsrdw,isbn,gys) --就这句话报错了。


CREATE NONCLUSTERED INDEX IX_xn_xq_XY_LSRDW
ON jcckd (xn,xq,xy,lsrdw);


有没有法子,可以创建一个索引视图?
...全文
911 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wdm00love 2018-12-13
  • 打赏
  • 举报
回复
把('116#' sjh )这列去掉
业余草 2018-12-13
  • 打赏
  • 举报
回复
吉普赛的歌 2018-12-12
  • 打赏
  • 举报
回复
那你去掉 sum 再看下呢? 索引视图要求很严格, 只适用于简单的查询情况。 对于你这种这么多表连接, 还有聚合的情况, 最好还是不要用。 哪怕你成功了, 最终对数据库的 增删改 的影响都是非常大的。 阻塞、死锁的机率将大大增加。
wwfxgm 2018-12-12
  • 打赏
  • 举报
回复
引用 4 楼 吉普赛的歌 的回复:
[quote=引用 3 楼 wwfxgm 的回复:]
[quote=引用 1 楼 chenshanliang 的回复:]
这几列(xn,xq,lsrdw,isbn,gys)组合是不是唯一?


这个是唯一的。 但是即使唯一,还是无法创建成功。[/quote]
提示什么?[/quote]

提示如下:
create unique clustered index IX_lsrdw_isbn_gys on jcckd(xn,xq,lsrdw,isbn,gys)
> Msg 8668, Level 16, State 1, Server WIN-N6MMO17K755, Procedure , Line 0
无法对视图 'JCBNEW.dbo.JCCKD' 创建聚集索引 'IX_lsrdw_isbn_gys',因为该视图的选择列表包含聚合函数或组合列的结果表达式。请考虑从选择列表中删除聚合函数或组合列的结果表达式。
> [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]无法对视图 'JCBNEW.dbo.JCCKD' 创建聚集索引 'IX_lsrdw_isbn_gys',因为该视图的选择列表包含聚合函数或组合列的结果表达式。请考虑从选择列表中删除聚合函数或组合列的结果表达式。 (8668)
吉普赛的歌 2018-12-12
  • 打赏
  • 举报
回复
引用 3 楼 wwfxgm 的回复:
[quote=引用 1 楼 chenshanliang 的回复:] 这几列(xn,xq,lsrdw,isbn,gys)组合是不是唯一?
这个是唯一的。 但是即使唯一,还是无法创建成功。[/quote] 提示什么?
wwfxgm 2018-12-12
  • 打赏
  • 举报
回复
引用 1 楼 chenshanliang 的回复:
这几列(xn,xq,lsrdw,isbn,gys)组合是不是唯一?


这个是唯一的。 但是即使唯一,还是无法创建成功。
xiaoxiangqing 2018-12-12
  • 打赏
  • 举报
回复
索引视图是有限制的
Dear SQL(燊) 2018-12-12
  • 打赏
  • 举报
回复
这几列(xn,xq,lsrdw,isbn,gys)组合是不是唯一?
Dear SQL(燊) 2018-12-12
  • 打赏
  • 举报
回复
把('116#' sjh )这列去掉

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧