Eu sou o autor do driver node-mysql-native, do meu ponto de vista as diferenças são
- sem suporte a declarações preparadas (ainda) no node-mysql
- de acordo com meus benchmarks, node-mysql é 10-20% mais lento que node-mysql-native
- node-mysql tem uma adoção muito mais ampla, mais testes e usuários. Se você precisa de estabilidade, é melhor usá-la
- node-mysql-libmysqlclient é 2 a 3 vezes mais rápido em consultas rápidas. No entanto, se você tiver muitas consultas lentas e usar pools de conexão, pode ser ainda mais lento do que o driver JS nativo porque as chamadas assíncronas libmysqlclient são baseadas no pool de threads do nodejs e não no loop de eventos.
atualizar
A partir de 07/11/2013
- (2). não é mais válido (mysql-native é um pouco mais lento que node-mysql)
- tenha esta alternativa para node-mysql, em alguns benchmarks é 2-3 vezes mais rápido, tem a mesma API + suporte para instruções preparadas, SSL e compressão. Também implementa um subconjunto simples do protocolo do lado do servidor - veja por exemplo MySQL -> Postgres proxy .
- node-mariasql também é uma opção muito boa (se não houver problema em usar o complemento binário) - suporte a instruções rápidas, estáveis, assíncronas, preparadas, compactação e SSL.