Cita: En cuanto a rendimiento, ¿afecta mucho?
Como bien mencionas, depende del impacto de los INSERT y UPDATE, que es donde realmente se produce el efecto.
Si la base tiene muchas altas/actualizaciones, y por muchas estamos hablando de miles diarios, entonces conviene un analisis de performance, y verificar si se puede mejorar de algún modo.
Cita: el SQL tendrá que comprobar los check
Los CHECK no cuentan en MySQL, porque no existen.
Cita: y no se si se llega a notar el cambio cuando haya múltiples accesos simultáneos (ya que obviamente un acceso aislado no se notará ningún cambio, jejeje).
No, no afectan los accesos concurrentes, porque el impacto es el mismo entre 100.000 registros ingresados por un mismo usuario, que 10.000 registros ingresados por 10 usuarios simultáneos. A ese nivel los bloqueos transaccionales producen más impacto que las restricciones de NOT NULL.