Table acces full durante update

¿Hola, cómo estas? Tengo la siguiente duda, durante la ejecución de un sentencia update, se realiza un table access full, la pregunta es, ¿seria recomendable colocar indices a la tabla?. Este es el update:
update routing_cdma
   set WINPOSTPAGO = 878,
       WINPREPAGO = 878
 where RANGE_START = '0000'
   and RANGE_END = '0049'
   and ROUTING_TYPE = 'TEL'; 
y cuando se hace update sobre toda la tabla, seria recomendable el indice ?
Gracias y saludos.
Respuesta
1
Bien los índices se suelen poner si sobre dicho campo se realizarán muchas búsquedas, en este caso sí, un update al llevar un WHERE implica búsquedas así que colocar como índices los campos que pongas en el WHERE puede ser óptimo siempre y cuando haya muchas búsquedas tampoco hay que poner índices a la ligera claro.
Hola, gracias, quiere decir entonces que si se realiza un apdate sin cláusula where sobre una tabla, ¿es recomendables en este caso no colocar indice?
Exacto, un UPDATE sin WHERE, no realiza búsquedas, ya que lo realiza sobre todas las filas de la tabla así que es un proceso secuencial, va de la primera fila a la última sin pararse, mientras que cuando pones un where tiene que hacer una búsqueda de las filas de entre todas, seleccionar las que coinciden con el where y actualizarlas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas