Я сравниваю время ответа / выполнения запроса с помощью PHP-скрипта и express.js (модуль mysql npm) и mysql (командная строка).
Я заметил, что время отклика больше в файле node.js по сравнению с другими.
Мой запрос:
SELECT (1 + 1) AS result
Время отклика (в среднем)
- Экспресс js: 2 мс
- Mysql (командная строка): менее 0 мс
- PHP скрипт: 0,11 мс
код в Express JS
const express = require("express");
const app = express();
const mysql = require('mysql');
app.get('/', (req, res) => {
const connection = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database: "test"
});
global.start = Date.now();
connection.query('SELECT (1 + 1) AS result', function (error, results, fields) {
if (error) throw error;
connection.end();
let end = Date.now();
let elapsed = end - global.start;
let result = results[0]['result'];
res.send('Result : ' + result + ' <br/> Time Elapsed : ' + elapsed + ' ms');
});
});
app.listen(8080);
Код в PHP
<?php
$servername = 'localhost';
$username = 'root';
$password = '';
$dbname = 'test';
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT 1 + 1 AS result";
$start = microtime(true);
$result = $conn->query($sql);
$end = microtime(true);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "Result: " . $row["result"] . "<br>";
echo 'Time Elapsed : ' . number_format(($end-$start)*1000,2) . ' ms <br/>';
}
} else {
echo "0 results";
}
$conn->close();
?>
Я ожидаю, что время отклика node.js (модуля mysql npm) должно приблизительно совпадать с другими.