vistas indexadas, performance

12/04/2005 - 14:40 por Carlos Rodriguez | Informe spam
se habla mucho de vistas indexadas para evitar triggers que acumulen
balances por ejemplo. He leido los libros en linea pero me queda la duda
de si las vistas indexadas en el practica no sobrecargan los tiempos de
actualizacion de las tablas.
Me gustaria leer sobre experiencias con el uso de vistas y su performance,
no solo quedarme con lo que dice la ayuda.

Preguntas similare

Leer las respuestas

#6 Miguel Egea
14/04/2005 - 23:02 | Informe spam
Más que como triggers las vistas indexadas se comportan como los íncides de
las tablas y el problema más que que se modifiquen mucho o poco (obviamente
influye) yo me lo he encontrado cuando se unen tablas de un número muy
distinto de registros.

Si por ejemplo tienes una tabla de 10 registros y una de 1.000.0000 que unes
en una vista indexada por cualquier cosa y que da lugar a 100.000 registros
resumidos. Insertar un registro en la tabla de 10 registros viene a
equivaler a insertar 10.000 registros más y modificar igual los otros
100.000 y ahí si se ve penalizado tremendamente el rendimiento.En casos en
los que son resumenes de una sola tabla en mi experiencia van muy bien a
rasgos generales, pero siempre cada caso es un mundo.

Saludos
Miguel Egea



"José Antonio" escribió en el
mensaje news:
Perdón la respuesta de abajo correspondia al primer mensaje de Alejandro.

Entonces tampoco son candidatas para tener triggers en insert,update y
delete porque cada uno de estos triggers tambien tiene que actualizar la
tabla de acumulados y sus indices, en definitiva es lo mismo utilizar
estos
triggers y la tabla de acumulados que una vista indexada, el trabajo para
sql server es el mismo, con la diferencia que con las vistas indexadas te
ahorras el trabajo y los errores de escribir los triggers y crear la tabla
de acumulados.

Si algun experto sabe como se comporta internamente sql server con las
vistas indexadas nos lo podria explicar y asi sacariamos conclusiones de
cual es la mejor forma, pero desde el exterior parace ser que las vistas
indexadas trabajan internamente con triggers propios y tablas acumuladas
propias que no son visibles al usuario pero que tienen los mismos
resultados.

No soy experto, pero creo que teoricamente es como debieran funcionar las
vistas indexadas
"Alejandro Mesa" escribió en el
mensaje news:
Carlos,

Las tablas que son actualizadas con mucha frequencia (insert, update,
delete) no son buenas condidatas para formar parte de vistas indexadas,
pues
la vista y sus indeces son actualizados tambien cada vez que se
actualizan
las tablas que forman parte de ella.

SQL Server 2000 Indexed View
Performance Tuning and Optimization Tips
http://www.sql-server-performance.c..._views.asp


AMB

"Carlos Rodriguez" wrote:

se habla mucho de vistas indexadas para evitar triggers que acumulen
balances por ejemplo. He leido los libros en linea pero me queda la
duda
de si las vistas indexadas en el practica no sobrecargan los tiempos de
actualizacion de las tablas.
Me gustaria leer sobre experiencias con el uso de vistas y su
performance,
no solo quedarme con lo que dice la ayuda.











Respuesta Responder a este mensaje
#7 José Antonio
15/04/2005 - 08:55 | Informe spam
Se puede saber de alguna manera que efectos de rendimiento produce la
insercion o modificacion de filas en las tablas que componen una vista
indexada?

"Miguel Egea" escribió en el mensaje
news:e3n$
Más que como triggers las vistas indexadas se comportan como los íncides
de las tablas y el problema más que que se modifiquen mucho o poco
(obviamente influye) yo me lo he encontrado cuando se unen tablas de un
número muy distinto de registros.

Si por ejemplo tienes una tabla de 10 registros y una de 1.000.0000 que
unes en una vista indexada por cualquier cosa y que da lugar a 100.000
registros resumidos. Insertar un registro en la tabla de 10 registros
viene a equivaler a insertar 10.000 registros más y modificar igual los
otros 100.000 y ahí si se ve penalizado tremendamente el rendimiento.En
casos en los que son resumenes de una sola tabla en mi experiencia van muy
bien a rasgos generales, pero siempre cada caso es un mundo.

Saludos
Miguel Egea



"José Antonio" escribió en el
mensaje news:
Perdón la respuesta de abajo correspondia al primer mensaje de Alejandro.

Entonces tampoco son candidatas para tener triggers en insert,update y
delete porque cada uno de estos triggers tambien tiene que actualizar la
tabla de acumulados y sus indices, en definitiva es lo mismo utilizar
estos
triggers y la tabla de acumulados que una vista indexada, el trabajo para
sql server es el mismo, con la diferencia que con las vistas indexadas te
ahorras el trabajo y los errores de escribir los triggers y crear la
tabla
de acumulados.

Si algun experto sabe como se comporta internamente sql server con las
vistas indexadas nos lo podria explicar y asi sacariamos conclusiones de
cual es la mejor forma, pero desde el exterior parace ser que las vistas
indexadas trabajan internamente con triggers propios y tablas acumuladas
propias que no son visibles al usuario pero que tienen los mismos
resultados.

No soy experto, pero creo que teoricamente es como debieran funcionar las
vistas indexadas
"Alejandro Mesa" escribió en el
mensaje news:
Carlos,

Las tablas que son actualizadas con mucha frequencia (insert, update,
delete) no son buenas condidatas para formar parte de vistas indexadas,
pues
la vista y sus indeces son actualizados tambien cada vez que se
actualizan
las tablas que forman parte de ella.

SQL Server 2000 Indexed View
Performance Tuning and Optimization Tips
http://www.sql-server-performance.c..._views.asp


AMB

"Carlos Rodriguez" wrote:

se habla mucho de vistas indexadas para evitar triggers que acumulen
balances por ejemplo. He leido los libros en linea pero me queda la
duda
de si las vistas indexadas en el practica no sobrecargan los tiempos de
actualizacion de las tablas.
Me gustaria leer sobre experiencias con el uso de vistas y su
performance,
no solo quedarme con lo que dice la ayuda.















Respuesta Responder a este mensaje
#8 Miguel Egea
16/04/2005 - 13:08 | Informe spam
si, set statistics io on, te dice las página afectadas en una operación. haz
una insercio´n sin la vista, otra con la vista indexada y mira la
diferencia.


Saludos cordiales
Miguel Egea
"José Antonio" escribió en el
mensaje news:
Se puede saber de alguna manera que efectos de rendimiento produce la
insercion o modificacion de filas en las tablas que componen una vista
indexada?

"Miguel Egea" escribió en el mensaje
news:e3n$
Más que como triggers las vistas indexadas se comportan como los íncides
de las tablas y el problema más que que se modifiquen mucho o poco
(obviamente influye) yo me lo he encontrado cuando se unen tablas de un
número muy distinto de registros.

Si por ejemplo tienes una tabla de 10 registros y una de 1.000.0000 que
unes en una vista indexada por cualquier cosa y que da lugar a 100.000
registros resumidos. Insertar un registro en la tabla de 10 registros
viene a equivaler a insertar 10.000 registros más y modificar igual los
otros 100.000 y ahí si se ve penalizado tremendamente el rendimiento.En
casos en los que son resumenes de una sola tabla en mi experiencia van
muy bien a rasgos generales, pero siempre cada caso es un mundo.

Saludos
Miguel Egea



"José Antonio" escribió en el
mensaje news:
Perdón la respuesta de abajo correspondia al primer mensaje de
Alejandro.

Entonces tampoco son candidatas para tener triggers en insert,update y
delete porque cada uno de estos triggers tambien tiene que actualizar la
tabla de acumulados y sus indices, en definitiva es lo mismo utilizar
estos
triggers y la tabla de acumulados que una vista indexada, el trabajo
para
sql server es el mismo, con la diferencia que con las vistas indexadas
te
ahorras el trabajo y los errores de escribir los triggers y crear la
tabla
de acumulados.

Si algun experto sabe como se comporta internamente sql server con las
vistas indexadas nos lo podria explicar y asi sacariamos conclusiones de
cual es la mejor forma, pero desde el exterior parace ser que las vistas
indexadas trabajan internamente con triggers propios y tablas acumuladas
propias que no son visibles al usuario pero que tienen los mismos
resultados.

No soy experto, pero creo que teoricamente es como debieran funcionar
las
vistas indexadas
"Alejandro Mesa" escribió en
el mensaje news:
Carlos,

Las tablas que son actualizadas con mucha frequencia (insert, update,
delete) no son buenas condidatas para formar parte de vistas indexadas,
pues
la vista y sus indeces son actualizados tambien cada vez que se
actualizan
las tablas que forman parte de ella.

SQL Server 2000 Indexed View
Performance Tuning and Optimization Tips
http://www.sql-server-performance.c..._views.asp


AMB

"Carlos Rodriguez" wrote:

se habla mucho de vistas indexadas para evitar triggers que acumulen
balances por ejemplo. He leido los libros en linea pero me queda la
duda
de si las vistas indexadas en el practica no sobrecargan los tiempos
de
actualizacion de las tablas.
Me gustaria leer sobre experiencias con el uso de vistas y su
performance,
no solo quedarme con lo que dice la ayuda.



















Respuesta Responder a este mensaje
#9 qwalgrande
17/04/2005 - 19:59 | Informe spam
Hola.

Debes soposar más cosas. La inserción sale penalizada, eso es seguro, y
ciertos updates más aún. Lo que tienes que poner en la balanza es el % de
inserciones frente a consultas (que sin duda se verán mejoradas). En este
caso, para la inserción realizada, hombre, lecturas hay pero no son muchas
(11 lecturas es algo imperceptible al ojo humano). Compara la consulta con y
sin la vista indexada, no sólo las inserciones y mira a ver qué te compensa
más.

qwalgrande


"José Antonio" escribió en el
mensaje news:
Con la Vista indizada:

(1 filas afectadas)

Tabla 'VT_MENSUAL'. Número de exploraciones 2, lecturas lógicas 11,
lecturas físicas 0, lecturas anticipadas 0.
Tabla 'Worktable'. Número de exploraciones 5, lecturas lógicas 7, lecturas
físicas 0, lecturas anticipadas 0.
Tabla 'CG_APUNTE'. Número de exploraciones 0, lecturas lógicas 18,
lecturas físicas 0, lecturas anticipadas 0.


Sin la Vista:
(1 filas afectadas)

Tabla 'CG_APUNTE'. Número de exploraciones 0, lecturas lógicas 15,
lecturas físicas 0, lecturas anticipadas 0.

Estos son los resultados de la inserción, con tu experiencia, me puedes
decir si esta vista va a funcionar bien sin sobrecargar el servidor?

Saludos y gracias.

"Miguel Egea" escribió en el mensaje
news:
si, set statistics io on, te dice las página afectadas en una operación.
haz una insercio´n sin la vista, otra con la vista indexada y mira la
diferencia.


Saludos cordiales
Miguel Egea
"José Antonio" escribió en el
mensaje news:
Se puede saber de alguna manera que efectos de rendimiento produce la
insercion o modificacion de filas en las tablas que componen una vista
indexada?

"Miguel Egea" escribió en el mensaje
news:e3n$
Más que como triggers las vistas indexadas se comportan como los
íncides de las tablas y el problema más que que se modifiquen mucho o
poco (obviamente influye) yo me lo he encontrado cuando se unen tablas
de un número muy distinto de registros.

Si por ejemplo tienes una tabla de 10 registros y una de 1.000.0000 que
unes en una vista indexada por cualquier cosa y que da lugar a 100.000
registros resumidos. Insertar un registro en la tabla de 10 registros
viene a equivaler a insertar 10.000 registros más y modificar igual los
otros 100.000 y ahí si se ve penalizado tremendamente el rendimiento.En
casos en los que son resumenes de una sola tabla en mi experiencia van
muy bien a rasgos generales, pero siempre cada caso es un mundo.

Saludos
Miguel Egea



"José Antonio" escribió en el
mensaje news:
Perdón la respuesta de abajo correspondia al primer mensaje de
Alejandro.

Entonces tampoco son candidatas para tener triggers en insert,update y
delete porque cada uno de estos triggers tambien tiene que actualizar
la
tabla de acumulados y sus indices, en definitiva es lo mismo utilizar
estos
triggers y la tabla de acumulados que una vista indexada, el trabajo
para
sql server es el mismo, con la diferencia que con las vistas indexadas
te
ahorras el trabajo y los errores de escribir los triggers y crear la
tabla
de acumulados.

Si algun experto sabe como se comporta internamente sql server con las
vistas indexadas nos lo podria explicar y asi sacariamos conclusiones
de
cual es la mejor forma, pero desde el exterior parace ser que las
vistas
indexadas trabajan internamente con triggers propios y tablas
acumuladas
propias que no son visibles al usuario pero que tienen los mismos
resultados.

No soy experto, pero creo que teoricamente es como debieran funcionar
las
vistas indexadas
"Alejandro Mesa" escribió en
el mensaje news:
Carlos,

Las tablas que son actualizadas con mucha frequencia (insert, update,
delete) no son buenas condidatas para formar parte de vistas
indexadas, pues
la vista y sus indeces son actualizados tambien cada vez que se
actualizan
las tablas que forman parte de ella.

SQL Server 2000 Indexed View
Performance Tuning and Optimization Tips
http://www.sql-server-performance.c..._views.asp


AMB

"Carlos Rodriguez" wrote:

se habla mucho de vistas indexadas para evitar triggers que acumulen
balances por ejemplo. He leido los libros en linea pero me queda
la duda
de si las vistas indexadas en el practica no sobrecargan los tiempos
de
actualizacion de las tablas.
Me gustaria leer sobre experiencias con el uso de vistas y su
performance,
no solo quedarme con lo que dice la ayuda.



























Respuesta Responder a este mensaje
#10 José Antonio
18/04/2005 - 12:57 | Informe spam
Con la Vista indizada:

(1 filas afectadas)

Tabla 'VT_MENSUAL'. Número de exploraciones 2, lecturas lógicas 11, lecturas
físicas 0, lecturas anticipadas 0.
Tabla 'Worktable'. Número de exploraciones 5, lecturas lógicas 7, lecturas
físicas 0, lecturas anticipadas 0.
Tabla 'CG_APUNTE'. Número de exploraciones 0, lecturas lógicas 18, lecturas
físicas 0, lecturas anticipadas 0.


Sin la Vista:
(1 filas afectadas)

Tabla 'CG_APUNTE'. Número de exploraciones 0, lecturas lógicas 15, lecturas
físicas 0, lecturas anticipadas 0.

Estos son los resultados de la inserción, con tu experiencia, me puedes
decir si esta vista va a funcionar bien sin sobrecargar el servidor?

Saludos y gracias.

"Miguel Egea" escribió en el mensaje
news:
si, set statistics io on, te dice las página afectadas en una operación.
haz una insercio´n sin la vista, otra con la vista indexada y mira la
diferencia.


Saludos cordiales
Miguel Egea
"José Antonio" escribió en el
mensaje news:
Se puede saber de alguna manera que efectos de rendimiento produce la
insercion o modificacion de filas en las tablas que componen una vista
indexada?

"Miguel Egea" escribió en el mensaje
news:e3n$
Más que como triggers las vistas indexadas se comportan como los íncides
de las tablas y el problema más que que se modifiquen mucho o poco
(obviamente influye) yo me lo he encontrado cuando se unen tablas de un
número muy distinto de registros.

Si por ejemplo tienes una tabla de 10 registros y una de 1.000.0000 que
unes en una vista indexada por cualquier cosa y que da lugar a 100.000
registros resumidos. Insertar un registro en la tabla de 10 registros
viene a equivaler a insertar 10.000 registros más y modificar igual los
otros 100.000 y ahí si se ve penalizado tremendamente el rendimiento.En
casos en los que son resumenes de una sola tabla en mi experiencia van
muy bien a rasgos generales, pero siempre cada caso es un mundo.

Saludos
Miguel Egea



"José Antonio" escribió en el
mensaje news:
Perdón la respuesta de abajo correspondia al primer mensaje de
Alejandro.

Entonces tampoco son candidatas para tener triggers en insert,update y
delete porque cada uno de estos triggers tambien tiene que actualizar
la
tabla de acumulados y sus indices, en definitiva es lo mismo utilizar
estos
triggers y la tabla de acumulados que una vista indexada, el trabajo
para
sql server es el mismo, con la diferencia que con las vistas indexadas
te
ahorras el trabajo y los errores de escribir los triggers y crear la
tabla
de acumulados.

Si algun experto sabe como se comporta internamente sql server con las
vistas indexadas nos lo podria explicar y asi sacariamos conclusiones
de
cual es la mejor forma, pero desde el exterior parace ser que las
vistas
indexadas trabajan internamente con triggers propios y tablas
acumuladas
propias que no son visibles al usuario pero que tienen los mismos
resultados.

No soy experto, pero creo que teoricamente es como debieran funcionar
las
vistas indexadas
"Alejandro Mesa" escribió en
el mensaje news:
Carlos,

Las tablas que son actualizadas con mucha frequencia (insert, update,
delete) no son buenas condidatas para formar parte de vistas
indexadas, pues
la vista y sus indeces son actualizados tambien cada vez que se
actualizan
las tablas que forman parte de ella.

SQL Server 2000 Indexed View
Performance Tuning and Optimization Tips
http://www.sql-server-performance.c..._views.asp


AMB

"Carlos Rodriguez" wrote:

se habla mucho de vistas indexadas para evitar triggers que acumulen
balances por ejemplo. He leido los libros en linea pero me queda
la duda
de si las vistas indexadas en el practica no sobrecargan los tiempos
de
actualizacion de las tablas.
Me gustaria leer sobre experiencias con el uso de vistas y su
performance,
no solo quedarme con lo que dice la ayuda.























email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida