Bonjour,
J'ai lu pas mal de littératures sur le Web où l'on conseille de charger les données dans une table temporaire, et après de faire un "alter table ... exchange partition ..." pour migrer les données dans la table partitionnée de destination.
Devant construire une nouvelle version d'une application et de sa base en y incluant le partitionnement. Je voudrais connaître l'intérêt de charger des données dans une table en faisant après un échange, par rapport au simple fait de charger les données directement dans la partition.
A priori, je ne vois pas de gain de performance, ni même de facilité accrue...
Si quelqu'un pouvait éclairer ma lanterne.
Je précise que j'utilise Oracle 9.2.0.7 avec du SQL*Loader en mode direct.
Merci d'avance.
http://www.stanford.edu/dept/itss/do...i.htm#i1107555
http://www.databasejournal.com/featu...le.php/3317621For example, in data warehousing environments exchanging partitions facilitates high-speed data loading of new, incremental data into an already existing partitioned table.
One of the most common ways of leveraging range partitioning techniques is to partition fact tables by date range, where each date range encompasses one load cycle for the table. The data is loaded into a separate table having exactly the same column definitions, constraints and indexes as the fact table. The constraints are enabled (sometimes), the indexes rebuilt (they will have been unusable for the load process to avoid overhead in maintaining and logging the indexes), and a "partition exchange" operation is executed to swap the data and index segments of the table with the data and index segments of a fact table partition. This DDL operation is extremely fast, and just as importantly, is as fast to reverse.
Partager