为什么Bun查询数据库接口响应比Rust还快 bun的响应速度比rust快表里三十多万条数据我直接全查了。app.get(/, async (c) { // 1. 查询计时 const t1 Date.now(); const weightRows await db.execute(sql SELECT * FROM weight ORDER BY uuid ASC ); const queryTime Date.now() - t1; // 2. 纯序列化计时手动 JSON.stringify const t2 Date.now(); const jsonString JSON.stringify(weightRows); const serializeTime Date.now() - t2; console.log( [性能] 查询 ${queryTime}ms | 序列化 ${serializeTime}ms | 行数 ${weightRows.length}, ); // 3. 返回手动序列化结果避免 c.json 二次序列化 return c.body(jsonString, 200, { Content-Type: application/json; charsetutf-8, // 可选告诉客户端内容长度帮助进度条 Content-Length: Buffer.byteLength(jsonString).toString(), }); }); rust 代码解读复制代码async fn root(State(state): StateSharedState) - impl IntoResponse { let start Instant::now(); let rows sqlx::query_as::_, WeightRawRow(SELECT * FROM weight ORDER BY uuid) .fetch_all(state.pool) .await .unwrap(); let query_time start.elapsed(); println!( 查询完成: {}ms, 行数: {}, query_time.as_millis(), rows.len() ); let serialize_start Instant::now(); let json_bytes serde_json::to_vec(rows).unwrap(); let serialize_time serialize_start.elapsed(); println!(序列化耗时: {}ms, serialize_time.as_millis()); let total_time start.elapsed(); println!(总耗时: {}ms, total_time.as_millis()); Response::builder() .header(content-type, application/json) .body(Body::from(json_bytes)) .unwrap() }