Soy un novato en postgres. Tengo una columna llamada host
(cadena varchar2) en una tabla que tiene alrededor de 20 millones de filas. ¿Cómo uso la indexación para optimizar mi búsqueda y encontrar un host particular? Además, esta columna se actualizará diariamente. ¿Necesito escribir la indexación de activación en un intervalo particular? Si es así, ¿cómo hago eso? (Para Records estoy usando Ruby y Rails 3)Indexación de Postgres?
Respuesta
Suponiendo que estás haciendo coincidencias exactas, sólo debe ser capaz de crear el índice y dejarlo:
CREATE INDEX host_index ON table_name (host)
El optimizador de consultas solo debe utilizar ese automáticamente.
Es posible que desee especificar otras opciones, como la intercalación a usar.
Consulte el PostgreSQL docs for CREATE INDEX para obtener más información.
Sugiero usar BRIN Index
desde su introducción de PostgreSQL 9.5 en lugar del índice btree convencional.
Para la búsqueda de texto, se recomienda utilizar los tipos de índice GIN o GiST.
https://www.postgresql.org/docs/9.5/static/textsearch-indexes.html
Otra posibilidad es que si sólo estuviera realizando coincidencia exacta en la columna de la host
, es decir, no hay comparaciones de desigualdad (>
, <
) y la concordancia parcial (like
, comodín) que participan, es posible considerar la conversión host
a un número entero de hash para acelerar la búsqueda significativamente.
- 1. indexación parcial de mysql, indexación inversa
- 2. Postgres XML datatype
- 3. Indexación espacial
- 4. Campos booleanos de indexación
- 5. Algoritmo de indexación de texto
- 6. Firebase e indexación/búsqueda
- 7. Minimizar vector indexación overhead
- 8. ¿Alguna indexación semántica latente?
- 9. MATLAB pregunta indexación
- 10. Indexación de Eclipse no funciona
- 11. divs flotantes de indexación z
- 12. numpy - 2d indexación de matrices
- 13. ¿Cómo determinar qué tipo de índice usar en Postgres?
- 14. Postgres Tuning
- 15. Reiniciar postgres
- 16. Indexación numpy.array unidimensional como matriz
- 17. Literal Haskell: referencias e indexación
- 18. Lucene.net - Bloqueos durante la indexación
- 19. Lucene indexación en tiempo real?
- 20. indexación valores nulos en PostgreSQL
- 21. Desactivar la indexación en netbeans
- 22. Numpy Indexación: Devolver el resto
- 23. Volcado de Postgres: pg_catalog.setval
- 24. Error de Postgres SSL
- 25. Indexación de contenidos cargados de ajax
- 26. Notación comparativa MATLAB de indexación de matriz
- 27. ¿Qué algoritmo de indexación espacial debo usar?
- 28. La indexación de Eclipse tarda para siempre
- 29. indexación y búsqueda de archivos en Python
- 30. Detener el proceso de indexación Magento
así que no necesito escribir el disparador? ¿Se actualizará la indexación a medida que se actualicen mis registros? –
La indexación se actualiza mientras se actualizan sus registros. La regla general es que cualquier índice acelera la recuperación, pero ralentiza la actualización de la información. Así que tenga cuidado al seleccionar la estructura del índice, esto podría afectar dramáticamente el rendimiento de las actualizaciones. – J0HN