linesize column sql oracle

linesize - sqlplus column nowrap



Índice a la vista(Oracle) (2)

No estoy a la altura de Oracle, pero creo que las Vistas materializadas hacen exactamente eso.

Elegir índices para vistas materializadas

Las dos operaciones más comunes en una vista materializada son la ejecución de consultas y la actualización rápida, y cada operación tiene requisitos de rendimiento diferentes. La ejecución de consultas podría necesitar acceder a cualquier subconjunto de las columnas de clave de vista materializadas, y podría necesitar unirse y agregarse sobre un subconjunto de esas columnas. Por lo tanto, la ejecución de consultas generalmente funciona mejor si se define un índice de mapa de bits de una sola columna en cada columna de clave de vista materializada.

En el caso de vistas materializadas que contienen solo combinaciones mediante la actualización rápida, Oracle recomienda que se creen índices en las columnas que contienen los rowids para mejorar el rendimiento de la operación de actualización.

Si una vista materializada que usa agregados se puede actualizar rápidamente, entonces se crea automáticamente un índice a menos que NO se especifique el uso de ningún índice en la instrucción CREATE MATERIALIZED VIEW.

Digamos que tengo dos tablas, tab_a y tab_b .

Y creo una vista como la siguiente:

create view join_tabs as ( select col_x as col_z from tab_a union select col_y as col_z from tab_b );

Y si hago lo siguiente:

select * from join_tabs where col_z = ''BLAH'';

Si tab_a indexa col_x y tab_b indexes col_y , deberíamos poder hacer esto con dos búsquedas de índice.

Sin embargo, sería bueno si pudiera hacer un índice sobre ambas tablas en un índice, o incluso indexar la vista, de una manera que se actualice automáticamente de inmediato si las tablas fuente ( tab_a o tab_b ) cambian.

¿Hay alguna manera de hacer esto en Oracle?


No puede crear un índice en una vista, ya que una vista es simplemente una máscara en algunas tablas. Para hacerlo, cree una vista materializada según lo especificado por @Lieven y cree un índice en ella.