Solved

hash partition

Posted on 2011-03-16
3
672 Views
Last Modified: 2012-05-11
Is a hash partition better suited for a table's column with high or low cardinality?
0
Comment
Question by:msimons4
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 48

Accepted Solution

by:
schwertner earned 500 total points
ID: 35148826
Oracle says:

Hash partitioning maps data to partitions based on a hashing algorithm that Oracle applies to the partitioning key that you identify. The hashing algorithm evenly distributes rows among partitions, giving partitions approximately the same size.

Hash partitioning is the ideal method for distributing data evenly across devices. Hash partitioning is also an easy-to-use alternative to range partitioning, especially when the data to be partitioned is not historical or has no obvious partitioning key.

My comment is that if you have big amount of data that is randomly used you can spread the data on different disk devices to reduce the contention. But if you can somehow to range the data and the select statements in your application use data grouped in ranges, intervals and so on the hash partitioning is not a good decission.

The cardinality can affect the hash partitioning only by high cardinality. In this case if you select rows thre is no waranty that they sit in same partition. So spreading them on different devices can paralelize the query and be winning.

But if you can group the rows belonging to one search criteria in one partition - this will be the best solution. But this is range hashing.....
0
 

Author Comment

by:msimons4
ID: 35148886
Range hashing is not an option since there is no range in the search condition. So I have this table with 45 columns, do I list every column in the hash partition or do I list the columns in the index or do I list the columns in the PK ect? How do I determine which columns to list in the hash partition?
0
 
LVL 48

Assisted Solution

by:schwertner
schwertner earned 500 total points
ID: 35151658
The index(es) depend(s) on the select statement(s) you use.

The primary key (PK) is a must if this is not a datewarehouse.
In OLTP is row has to have PK. Even in DW the rows have to have PK because references will be almost impossible.
0

Featured Post

Get your Disaster Recovery as a Service basics

Disaster Recovery as a Service is one go-to solution that revolutionizes DR planning. Implementing DRaaS could be an efficient process, easily accessible to non-DR experts. Learn about monitoring, testing, executing failovers and failbacks to ensure a "healthy" DR environment.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Checking the Alert Log in AWS RDS Oracle can be a pain through their user interface.  I made a script to download the Alert Log, look for errors, and email me the trace files.  In this article I'll describe what I did and share my script.
Using SQL Scripts we can save all the SQL queries as files that we use very frequently on our database later point of time. This is one of the feature present under SQL Workshop in Oracle Application Express.
This video explains at a high level about the four available data types in Oracle and how dates can be manipulated by the user to get data into and out of the database.
This video shows how to configure and send email from and Oracle database using both UTL_SMTP and UTL_MAIL, as well as comparing UTL_SMTP to a manual SMTP conversation with a mail server.
Suggested Courses

617 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question