Deletes de 25 minutos
Donde trabajo tenemos una base de datos de un volumen considerable (mas de dos teras). Eso obliga a pensar mucho como se hacen las aplicaciones, lo que no siempre se hace. Hoy me han planteado una queja "Oracle va mal, tengo una tabla con 13 filas y el delete de una me ha costado 25 minutos" (la culpa siempre se la echan a Oracle). Nos ponemos a investigar y descubrimos que la tabla sólo tiene trece filas, pero es una tabla maestra de otras doce tablas, la mayor de ellas de 145 millones filas y la siguiente de 52 millones, el resto ni las miramos. Como hay relaciones de dependencia antes de borrar el gestor de la base de datos tiene que recorrerse por completo cada una de esas tablas para ver si está en uso la clave de la fila a borrar. Por eso va tan lento. El lunes le diremos al equipo de desarrollo que tienen que pensar a lo grande. Si ese campo sólo se rellena desde la aplicación y el usuario escoge la descripción de un desplegable es imposible que se ponga un dato errone...