Siempre será más rápido ejecutarla en el Servidor de Base de Datos, pero tal vez no siempre aconsejable.
A mi personalmente me gusta hacer las validaciones (a priori todas) en el programa. Son más fáciles de controlar, de "debuggar", el código está centralizado, más fácil para detectar errores, mejor para versionado,...
En operaciones normales (no especiales) sacrifico la velocidad en pro de otras cosas como las que te he comentado.
Eso sí, para procesos críticos, importantes o que requieren velocidad de proceso,
deben ir en el SGDB, pero intento que sean los mínimos.
Supongo que habrá quien no esté de acuerdo, pero yo lo hago así.
He visto Base de Datos con cientos de procedimientos y triggers (casi para cualquier cosa), y eran una verdadera locura en varias situaciones:
* A la hora de migrar a otro sistema.
* A la hora de actualizar determinados objetos de la base de datos por las dependencias.
* A la hora de grabar de buscar un simple error de porqué un dato no se guardaba correctamente. Busca en el código, busca en los Stored, y busca en los triggers...