包含列的 SQL Server 索引 - 转换为 Oracle
Posted
技术标签:
【中文标题】包含列的 SQL Server 索引 - 转换为 Oracle【英文标题】:SQL Server Indexes with Included Columns - convert to Oracle 【发布时间】:2018-06-26 19:32:41 【问题描述】:我对 SQL Server 完全陌生。目前必须将表、索引、触发器等转换为 Oracle。据我所知,Oracle 中没有 INCLUDE
这样的东西。请问如何将包含列的索引转换为 Oracle 索引?
CREATE NONCLUSTERED INDEX [index_name]
ON [dbo].[table_name] ([col1] ASC, [col2] ASC)
INCLUDE ([col3], [col4])
WITH (PAD_INDEX = OFF...
这是标准的 Oracle 语法:
CREATE INDEX index_name ON table_name (col1, col2);
我应该简单地将 col3 和 col4 添加到我的索引中吗?
没有 SQL Server 版本。我得到的只是文件并手动转换。 谢谢大家。
【问题讨论】:
请将您的评论复制到答案中。谢谢。 这能回答你的问题吗? Oracle equivalent to SQL Server included columns to index 【参考方案1】:理论上应该可以。包含的列意味着它们在索引查找期间不用作谓词(在连接条件或 where 子句中),但这些列中的数据可以在没有键查找的情况下返回。
在现有键的末尾添加包含的列。确保你也测试了速度和索引大小。
Indexes with Included Columns
【讨论】:
以上是关于包含列的 SQL Server 索引 - 转换为 Oracle的主要内容,如果未能解决你的问题,请参考以下文章
[转帖]SQL Server 索引中include的魅力(具有包含性列的索引)
SQL Server 索引中include的魅力(具有包含性列的索引)