Soy el autor del controlador node-mysql-native, desde mi punto de vista, las diferencias son
- no hay soporte para declaraciones preparadas (todavía) en node-mysql
- según mis puntos de referencia, node-mysql es un 10-20 % más lento que node-mysql-native
- node-mysql tiene una adopción mucho más amplia, más pruebas y usuarios. Si necesitas estabilidad, mejor utilízala
- node-mysql-libmysqlclient es de 2 a 3 veces más rápido en consultas rápidas. Sin embargo, si tiene muchas consultas lentas y usa grupos de conexiones, podría ser incluso más lento que el controlador JS nativo porque las llamadas asincrónicas de libmysqlclient se basan en el grupo de subprocesos de nodejs y no en el bucle de eventos.
actualizar
A partir del 07/11/2013
- (2). ya no es válido (mysql-native es un poco más lento que node-mysql)
- tener esta alternativa a node-mysql, en algunos puntos de referencia es 2-3 veces más rápido, tiene la misma API + soporte para declaraciones preparadas, SSL y compresión. También implementa un subconjunto simple del protocolo del lado del servidor; consulte, por ejemplo, MySQL -> Postgres proxy .
- node-mariasql también es una muy buena opción (si está bien usar un complemento binario):rápido, estable, asíncrono, soporte de declaraciones preparadas, compresión y SSL.