Según tengo entendido, el optimizador de consultas en SQL Server (o cualquier otro RDBMS, realmente) no es consciente del rendimiento del almacenamiento debajo de la base de datos, y tomará decisiones como si todo el almacenamiento tuviera el mismo costo. ¿Es eso correcto o hay algún conocimiento del rendimiento del almacenamiento que se tiene en cuenta?
En un ejemplo totalmente artificial, digamos que las filas de mi tabla se almacenan en una unidad SSD en mi SAN con tiempos de acceso instantáneos, donde mis índices se almacenan en unidades SAS que están extremadamente sobrecargadas, lo que resulta en saturación de disco y colas de disco constantes. Cuando el RDBMS genera el plan de ejecución, ¿es más probable que favorezca una exploración de tabla que una operación de índice (o posiblemente un índice reducido y búsquedas de tabla asociadas, en lugar de un índice de cobertura, porque es menos IO en los discos SAS)?
Sospecho que la respuesta es un sólido "no es una posibilidad que el optimizador sea inteligente o incluso consciente del rendimiento del disco", pero solo quería ver si alguien por ahí lo sabe con seguridad. Estoy usando SQL Server, pero estoy interesado en cualquier sistema de base de datos.