Domanda

Ho un enorme elenco di array interi (300.000.000 di record) memorizzati in Postgres 9,2 dB. Voglio cercare in modo efficiente questi record per corrispondenza esatta (solo uguaglianza). Ho sentito parlare del modulo Intarray e degli indici di Gist-Gin corrispondenti. Vorrei fare le seguenti domande:

  • PostgreSQL utilizza una funzione hash per controllare l'uguaglianza di array di interi o esegue un algoritmo a forza bruta che confronta uno per uno degli elementi dell'array?
  • Se PostgreSQL utilizza una funzione hash, esiste un codice di funzione PostgreSQL per ottenere effettivamente il risultato della funzione hash per un particolare array?
  • Quale indice sarà il migliore per un tale compito? B -albero o gli indici GIST - Gin forniti dal modulo IntaRray? Il set di dati sarà statico, cioè, una volta inseriti tutti i record non ci saranno più inserzioni. Quindi, la costruzione di indice / aggiornamento del tempo dell'indice non è importante per me.

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a dba.stackexchange
scroll top