Partitioning the oracle into columns, often used in joins, and where conditions

The customer table contains 9.5 million records. The column customer_idis a primary key. The database Oracle.

Questions:

1) If the table contains the main sections or subsections? How do i decide? Also, I don't think that indexing columnA or columnB will help here because of the data type.

TableA.columnA (varchar) has more than 80% of the records for columnA values 5,6,7. The columnA has values from 1 to 7 only.
TableA.columnB (varchar) has 90% of the records for columnB value = 102. The columnB has values from 1 to 999.

In addition, typical queries (in a specific order):

Query1: where tableA.columnA = values
Query2: where tableA.columnB = values
Query3: where tableA.columnA = values AND/OR tableA.columnB = values

2) When we create subsections, what happens if the query contains only the where clause for the sub-size column? Is the query being executed directly in the subsection or through the main section?

3) the connection contains tableA.partitioned_column = tableB.indexed_column

(eg. customer_Table.branch_code = branch_table.branch_code)

Does markup help in case of JOIN? Will performance improve?

+4
2

1) , , , .. .

2) , Oracle , , ( ). . - , . WHERE .

3) 99% , , Oracle . , 100% . , .

0

80-90% , , . 10-20% , , , Oracle , (, ?)

, ( , ).

@psur, , .

0

Source: https://habr.com/ru/post/1528030/


All Articles