基本上,我有一个大约70k行的表 - 当我使用mysql在nodejs中执行select all查询时,需要大约2s。但是,MySQL工作台报告相同的查询需要大约0.05秒。我是使用nodejs的新手 - 但这里有一些代码。
/** @var \TYPO3\CMS\Extbase\Persistence\Generic\PersistenceManager */
$persistenceManager = GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\Persistence\Generic\PersistenceManager::class);
$persistenceManager->persistAll();
然后查询本身:
this.acquire = function (callback) {
this.pool.getConnection(function (err, connection) {
callback(err, connection);
});
};
this.init = function () {
this.pool = mysql.createPool({
multipleStatements: true,
connectionLimit: 100,
host: 'localhost',
user: 'root',
password: 'example',
database: 'example',
});
}
打印出 test:1969ms
MySQL工作台的结果: 17:31:48 SELECT * FROM example.test 70001行返回0.000秒/0.031秒
数据结构本身只有3列,一个id,时间戳和一个int。 问题是,为什么nodeJS查询这么慢?它只是从nodeJs应用程序到MySQL服务器的连接时间,还是我的nodeJs没有正确设置?
非常感谢任何帮助!