Я хочу создать динамически подготовленные операторы, чтобы каждая часть была динамической, значения, таблица и часть WHERE.
Я использую nodejs + PostgreSQL и модуль pg для общения с PostgreSQL.Модуль pg предлагает другой синтаксис в сочетании с node.js, но я думаю, что принципы те же.Это основано на официальном примере здесь
//dynamic that can change
let select = 'name , email, age';
let table = 'user';
let where = 'id=$1 AND gender=$2';
let values = [1,'female'];
//prepare
const query = {
// give the query a unique name
name: 'fetch-user',
text: 'SELECT' + select + 'FROM' + table + 'WHERE' + where,
values: values
}
//execute
client.query(query)
.then(res => console.log(res.rows[0]))
.catch(e => console.error(e.stack))
Мне было интересно, будет ли это иметь смысл, с точки зрения производительности .
Я прочитал документацию и, насколько я понимаю, благодаря динамичности всех частей подготовленного оператора планирование может быть не столь эффективным или совсем неэффективным.
Что мне делать?Должен ли я сохранить этот динамический синтаксис?Или это не имеет никакого смысла, поэтому мне нужно создать несколько подготовленных операторов и использовать их для разных таблиц?
Спасибо