代码之家  ›  专栏  ›  技术社区  ›  Art

包含列的SQL Server索引-转换为Oracle

  •  0
  • Art  · 技术社区  · 6 年前

    我对SQL Server完全陌生。目前必须将表、索引、触发器等转换为Oracle。据我所知,没有 INCLUDE 在Oracle中。如何将包含列的索引转换为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版本。我得到的只是文件和手动转换。 谢谢大家。

    1 回复  |  直到 6 年前
        1
  •  0
  •   dfundako    6 年前

    从理论上讲,这是可行的。include'd列意味着在索引查找期间(在join条件或where子句中),它们不被用作谓词,但是这些列中的数据可以在没有键查找的情况下返回。

    在现有键的末尾添加包含的列。确保测试了速度和索引大小。

    Indexes with Included Columns