Tenemos una aplicación basada en SQL Server de tamaño medio que no tiene índices definidos. Ni siquiera en las columnas de identidad. Le sugerí a nuestro consultor de aplicaciones moderadamente costoso que tal vez podríamos obtener un mejor rendimiento (especialmente a medida que crece nuestra base de datos) creando algunos índices en los campos apropiados, y dijo:¿Es una mala idea agregar índices a un servidor SQL?
"Los índices tendrán un impacto significativo en otras áreas de la aplicación y los clientes no debería crearlos bajo ninguna circunstancia ".
¿Alguien ha oído hablar de algo como esto? ¿Hay alguna vez circunstancias donde uno debería no crear ningún índice? No veo nada especial en esta aplicación: tiene columnas de identidad, muchas columnas de cadenas, muchas tablas relacionales, pero nada especial o extraño que pueda ver.
Gracias!
[EDIT: las columnas de identidad no están utilizando "especificación de la identidad", que parecen estar establecido por el programa, mirando a la base de datos con el estudio de la gerencia, no puedo encontrar NO índices ...]
SEGUIMIENTO: en una conferencia pregunté al CEO (y al arquitecto jefe) de la compañía que producía este producto sobre esto, su respuesta fue que pensaban para implementaciones pequeñas a medianas, la sobrecarga asociada con el mantenimiento de índices tendría un efecto negativo para el usuario en general. experiencia (la aplicación realiza muchas escrituras) de lo que compensarían los beneficios de los índices, pero para bases de datos grandes, crean índices. El técnico de soporte técnico fue demasiado entusiasta y muy inútil con su respuesta. Misterio resuelto.
Hay algunas tablas con muchas columnas, pero no parecen contener múltiples entidades conceptuales. Las tablas más grandes (en columnas) tienen muchos datos de atributos que parecen estar en un grupo razonable en esa tabla. – Aerik
He visto lo que pensaba que era una buena mesa con 30 columnas. Pero sí, las tablas siguen una distribución de Poisson centrada en aproximadamente 5. – Joshua