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. divs flotantes de indexación z
- 11. numpy - 2d indexación de matrices
- 12. Indexación de Eclipse no funciona
- 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. Notación comparativa MATLAB de indexación de matriz
- 26. Indexación de contenidos cargados de ajax
- 27. ¿Qué algoritmo de indexación espacial debo usar?
- 28. Numeración de fantasía indexación y asignación
- 29. La indexación de Eclipse tarda para siempre
- 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