データベースとしてSQL Serverを使用するNode.js REST APIのパフォーマンスを向上させようとしています。このAPIは非常に遅い場合があります(たとえば、1.5秒の応答時間)。Node.js mssqlモジュールが非常に遅い
コードを掘り下げたところ、JavaScriptコード自体が非常に高速(1ms未満で実行)であることが判明しましたが、すべてを遅くするのはmssqlモジュールを介して実行されるSQLクエリです。
「ユーザー」表に5行しか含まれていない場合でも、"SELECT [id] from [users]"
という簡単なクエリでも1〜2秒で完了します。この問題は、SSMSまたはPython(pymssql)を使用して同じクエリを実行すると、ほぼ即座に完了するため、mssqlモジュール内で発生しているようです。
誰でも、このモジュールまたは使用可能な代替モジュールの解決策を知っていますか?
(他の提案は歓迎されている)これは私がクエリを作成するために使用するコードです:
const config = {...}
var sql = require('mssql');
var date;
sql.connect(config)
.then(pool => {
date = Date.now();
return pool.request()
.query('select [id] from [users]');
})
.then(result => {
console.dir('This query took ' + (Date.now() - date) + 'ms to return ' + result.recordset.length + ' rows!');
})
.catch(err => {
console.log(err);
})
sql.on('error', err => {
console.log(err);
})
、出力は次のようになります。
'This query took 1287ms to return 5 rows!'