临时表建立索引问题

蔡健常熟 2006-11-17 08:03:48
1.临时表的结构是可变的,
如 select * into #t from XXXX where ....
select * into #t from YYYY where ....
建立的。
2.我想在临时表#t的前3个字段上建立索引,如何操作?
3.我的办法是检索出临时表所有字段,用动态SQL语句组织建索引语句,有没有好办法?
...全文
1216 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
蔡健常熟 2006-11-17
  • 打赏
  • 举报
回复
有10000条左右的临时数据报表需要反复查询它们,有什么好办法?
rea1gz 2006-11-17
  • 打赏
  • 举报
回复
为什么会有这样的要求?
临时表,特别是局部临时表,应该都是存放小量的临时数据的,为什么需要索引
marco08 2006-11-17
  • 打赏
  • 举报
回复
學習
hhhdyj 2006-11-17
  • 打赏
  • 举报
回复
--在列名不确定的情况下对临时表#T前三个字段加索引
DECLARE @COL VARCHAR(1000)
SET @COL = ''
SELECT @COL = @COL + COLUMN_NAME + ',' FROM
TEMPDB.INFORMATION_SCHEMA.COLUMNS A
INNER JOIN(SELECT [NAME] FROM TEMPDB.dbo.sysobjects WHERE [ID] = OBJECT_ID(N'TEMPDB..#T'))B
ON A.TABLE_NAME = B.[NAME] AND A.ORDINAL_POSITION <= 3
ORDER BY ORDINAL_POSITION
SET @COL = LEFT(@COL, LEN(@COL) - 1)
EXEC('CREATE INDEX IX_TempTable ON #T(' + @COL + ')')
蔡健常熟 2006-11-17
  • 打赏
  • 举报
回复
问题是 字段1,字段2,字段3 是什么名字不确定的。
stou 2006-11-17
  • 打赏
  • 举报
回复
up
hhhdyj 2006-11-17
  • 打赏
  • 举报
回复
CREATE INDEX IX_TempTable ON #T(字段1,字段2,字段3)
  • 打赏
  • 举报
回复
确实可以。 学习
rea1gz 2006-11-17
  • 打赏
  • 举报
回复
试过,可以的
  • 打赏
  • 举报
回复
--在列名不确定的情况下对临时表#T前三个字段加索引
DECLARE @COL VARCHAR(1000)
SET @COL = ''
SELECT @COL = @COL + COLUMN_NAME + ',' FROM
TEMPDB.INFORMATION_SCHEMA.COLUMNS A
INNER JOIN(SELECT [NAME] FROM TEMPDB.dbo.sysobjects WHERE [ID] = OBJECT_ID(N'TEMPDB..#T'))B
ON A.TABLE_NAME = B.[NAME] AND A.ORDINAL_POSITION <= 3
ORDER BY ORDINAL_POSITION
SET @COL = LEFT(@COL, LEN(@COL) - 1)
EXEC('CREATE INDEX IX_TempTable ON #T(' + @COL + ')')
----请问这样可以访问到 #T 吗?

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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