Nathan Boley wrote:
> Because people can be smarter about the data partitioning.
>
> Consider a table of users. Some are active, most are not. The active
> users account for nearly all of the users table access, but I still
> (occasionally) want to access info about the inactive users.
> Partitioning users into active_users and inactive_users allows me to
> tell the database (indirectly) that the active users index should stay
> in memory, while the inactive users can relegated to disk.
>
> -Nathan
>
> On Thu, May 1, 2008 at 6:02 AM, Jeremy Harris <jgh@wizmail.org> wrote:
>> Gurjeet Singh wrote:
>>
>>> One of the advantages
>>> of breaking up your data into partitions, as professed by Simon (I think)
>>> (and I agree), is that you have smaller indexes, which improve
>> performance.
>>> And maybe having one huge index managing the uniqueness across partitioned
>>> data just defeats the idea of data partitioning!
>>>
>> Isn't "large indexes are a performance problem" just saying
>> "we don't implement indexes very well"? And why are they
>> a problem - surely a tree-structured index is giving you
>> range-partitioned subsets as you traverse it? Why is this
>> different from manual partitioning into (inherited) tables?
Agreed, data placement is one reason for partitioning. But won't
this happen automatically? Won't, in your example, the active
part of a one-large-index stay in memory while the inactive parts
get pushed out?
Cheers,
Jeremy