Declaraciones de casos versus declaraciones if codificadas

Lo que es más eficiente: manejo con declaraciones de casos en sql o manejo de los mismos datos usando declaraciones if en código. Lo pregunto porque mi colega tiene una gran consulta que tiene muchas declaraciones de casos. Le aconsejé que eliminara el estrés de la base de datos codificando las declaraciones de casos. He descubierto que es más eficiente ... pero ¿por qué?