【问题标题】:Can we create an index for all the columns in a table?我们可以为表中的所有列创建索引吗?
【发布时间】:2016-06-10 17:18:09
【问题描述】:

我在一次采访中被问到:“我可以在一个表的所有列中创建索引吗(假设有一个有 20 列的表,1.我们可以为 20 列创建一个索引吗?2.我们可以表的每 20 列都有单独的索引)"。

【问题讨论】:

  • 为什么不自己尝试一下呢?你是否可以和你是否应该当然是不同的事情。它还取决于列的数据类型 - 例如,您不能索引 CLOB - 那么指定的那些?
  • 你可以吗?当然(取决于数据类型等)。你应该?几乎肯定不会。
  • 您能解释一下原因吗?
  • 也许是一种奇怪的方式来看看你是否讨论物联网?
  • 一般来说“是的,我们可以”,很可能他们希望您说,在这种情况下,最好创建一个“索引组织表”,而不是一个表和一个包含所有列的索引。

标签: oracle indexing


【解决方案1】:

在 oracle 中您最多可以使用 32 列

每个索引(或聚集索引)最多 32 列

参考逻辑限制

https://docs.oracle.com/cd/B28359_01/server.111/b28320/limits003.htm

【讨论】:

    猜你喜欢
    • 2014-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-22
    • 1970-01-01
    • 2020-08-31
    • 1970-01-01
    相关资源
    最近更新 更多