Si no mal recuerdo select2 tiene funcionalidades adicionales para cargar muchos datos. Sería cuestio de que vieras eso en su documentación, si es otro plugin el que usas de la misma forma ve si puedes hacer algo.
Por otro lado te recomiendo que hagas uso del cache para reducir los tiempos y no estes haciendo peticiones a la base de datos cada vez que se carga esa vista.
https://laravel.com/docs/5.7/cache