Having worked with SQLServer for a long time, I'm used to think that clustered table (table with clustered index) is usually a better choice compared to heap table. Now I'm also working with Oracle and I don't really understand why their tables are heap by default. From my experience I can say that there is a limited number of cases where tables should be heap (again, I mostly dealt with SQLServer).
Does Oracle have a good reason for "forcing" (by forcing I mean that CREATE TABLE
without specifying organization index
creates heap in contrast to SQLServer which by default creates clustered table) users to use heap tables?
[Update]
Clarification about SQLServer - I might have misused "default" for describing SQL Server behaviour; I'm aware that it creates a clustered index if primary key specified in CREATE TABLE
. My point here is that I don't have to specify PK is clustered.
[/Update]
Also, there are many good articles about clustered tables vs heaps in SQLServer, and I wonder to which extent it can be applied to Oracle.
Any information is greatly appreciated.
Thanks.