Tengo una base de datos de Postgres que tiene 2 columnas que no son claves principales (ni pueden serlo), pero se buscan en un lote y se comparan por igualdad con 2 columnas en otras tablas.¿Cómo determinar qué tipo de índice usar en Postgres?
Creo que este es un caso perfecto para agregar un índice a mis tablas. Nunca he utilizado indexación en una base de datos antes, así que estoy tratando de aprender la forma correcta de hacerlo.
He aprendido que hay varios tipos de indexación que puedo elegir. ¿Cómo determino qué método será el más eficiente para mi base de datos? ¿También sería el método adecuado crear un índice único que cubra ambas columnas?
gracias, actualicé mis preguntas solo un poco. De hecho, estoy buscando pura igualdad, así que supongo que un índice de hash será el mejor. – Kellenjb
Scratch that, hash no funciona en varias columnas. Supongo que tendré que hacer un poco de experimentación para ver si 2 hashes separados serán más rápidos que 1 solo b-tree – Kellenjb
Generalmente no quiere usar un índice hash. Desde la página 9.1 documentos: "Las operaciones de índice Hash no están actualmente registradas en WAL, por lo que los índices de hash pueden necesitar reconstruirse con REINDEX después de un bloqueo de la base de datos. Tampoco se replican a través de la transmisión o replicación basada en archivos. Por estas razones, hash el uso del índice está actualmente desaconsejado ". –