PostgreSQL 数据库内外查询速度比较
数据库内使用 Rust 编写存储过程,使用pgxr程序库; 数据库外使用 Go 语言,使用pgx连接数据库进行查询; 逻辑都是查询某个表的字段列表,循环执行10000次; 测试结果如下: Rust 存储过程: test_sql_speed: 26.810285862s Go 连接数据库查询: 32.746561715s Go 语言只建立一次连接。 看来复用连接的话开销很小的嘛,一次只需要花费 0.5 毫秒左右。 然后,又测试了最简单的 SQL 查询:SELECT 1,同样也是 10000 次; 这次,Rust 存储过程: test_sql_speed: 67.651917ms Go 连接数据库查询: 1.261617769s 数据库内查询那是相当快的,这样算来每次处理连接的耗时大概在 0.1 毫秒左右。 源代码如下: Rust #[no_mangle] pub extern "C" fn test_sql_speed(_fcinfo: FunctionCallInfo) -> Datum { let sys_time = SystemTime::now(); for _ in 1...