|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() |
Bonjour,
Je suis sur un script d'extraction, j'ai un souci au niveau de la création d'une table, je dois mettre un index car beaucoup de données "joiniable" par un seul champs: soit je fais un create table AS select... puis j'ajoute un index soit je fait un create table avec l'index puis je fait un insert de mon select... le traitement général c'est de créer 5 tables avec le même champs en commun et du coup de faire une jointure. Merci pour vos réponses. |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : octobre 2008 Messages : 1 508 ![]() |
Il manque la question mais j'imagine que c'est "quel est le plus rapide"?
En principe ça devrait être le CREATE TABLE as select suivi de la création d'index. |
|
|
10
|
|
|
#3 |
|
Membre régulier
![]() |
Effectivement il manquait la question..
Merci pour cette rapidité. Si je reste sur le create as, ça n'a pas d'impact sur la création de l'index si ma table contient plus d'un million d'entrées? |
|
|
00
|
|
|
#4 | |
![]() ![]() |
Citation:
Mais dans un cas comme dans l'autre, il faudra bien indexer ce million de lignes alors autant le faire en une seule fois après avoir inséré toutes les données.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
|
10
|
|
|
#5 |
![]() ![]() Inscription : octobre 2008 Messages : 1 508 ![]() |
S'il y a un impact de la créa d'index après chargement, il serait plutôt positif.
Car il est plus facile de produire un index équilibré en ayant toutes les données sous la main avec une table verrouillée en écriture qu'en insérant ligne par ligne. le create index utilisera aussi un buffer mémoire spécifique réglable avec maintenance_work_mem Enfin il y a dans la doc divers conseils pour le scénario du chargement en masse: http://docs.postgresql.fr/9.0/populate.html |
|
|
20
|
|
|
#6 |
|
Membre régulier
![]() |
merci beaucoup pour ces réponses.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com