Ceci est une question assez simple, mais c'est une question sur laquelle je ne trouve pas de réponse ferme.les index nécessaires pour l'héritage de table dans postgres?
J'ai une table parente dans PostgreSQL, puis plusieurs tables enfants qui ont été définies. Un déclencheur a été établi, et les tables enfants ont seulement des données insérées si un champ, disons le champ x, répond à un certain critère.
Quand j'Interrogation de la table parent avec un champ basé sur x, PostgreSQL sait aller immédiatement à la table des enfants qui est lié à cette valeur particulière de x.
Cela étant dit, je n'ai pas besoin de spécifier un index particulier sur la colonne x do I? PostgreSQL sait déjà comment trier, et en ajoutant un index au parent x, PostgreSQL génère donc des index uniques sur x pour chacune des nouvelles tables enfants.
Créer cet index est un peu redondant, non?
x est un nom de site qui est une liste prédéfinie. Ainsi, par exemple, la table parent peut être 'city_description', avec la colonne 'city'. disons que j'ai 10 tables enfants, 'chicago_city_description', 'dallas_city_description', 'nyc_city_description' ..., où mon déclencheur prend la décision pour la table enfant en fonction de la valeur de 'city'. cette colonne ne sera jamais un horodatage. alors se débarrasser de l'index est bien? –
Si x est un nom de site et qu'il y a un nom de site par table enfant - supprimez l'index. – rfusca
beaucoup obligé. Merci pour l'info. –