mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-05-23 16:30:39 +00:00
fix: refactor pgkv using prepare_cache about 10% better (#5497)
fix: refactor pgkv using prepare_cache about 15% better Signed-off-by: yihong0618 <zouzou0208@gmail.com>
This commit is contained in:
@@ -55,14 +55,25 @@ impl PgQueryExecutor<'_> {
|
||||
params: &[&(dyn ToSql + Sync)],
|
||||
) -> Result<Vec<tokio_postgres::Row>> {
|
||||
match self {
|
||||
PgQueryExecutor::Client(client) => client
|
||||
.query(query, params)
|
||||
.await
|
||||
.context(PostgresExecutionSnafu { sql: query }),
|
||||
PgQueryExecutor::Transaction(txn) => txn
|
||||
.query(query, params)
|
||||
.await
|
||||
.context(PostgresExecutionSnafu { sql: query }),
|
||||
PgQueryExecutor::Client(client) => {
|
||||
let stmt = client
|
||||
.prepare_cached(query)
|
||||
.await
|
||||
.context(PostgresExecutionSnafu { sql: query })?;
|
||||
client
|
||||
.query(&stmt, params)
|
||||
.await
|
||||
.context(PostgresExecutionSnafu { sql: query })
|
||||
}
|
||||
PgQueryExecutor::Transaction(txn) => {
|
||||
let stmt = txn
|
||||
.prepare_cached(query)
|
||||
.await
|
||||
.context(PostgresExecutionSnafu { sql: query })?;
|
||||
txn.query(&stmt, params)
|
||||
.await
|
||||
.context(PostgresExecutionSnafu { sql: query })
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user