Использую 'pg-native' и синхронный метод querySync.
Я понимаю, что в реальном приложении используются асинхронные запросы. Тут применяю querySync только для тестирования.
function testPostgres(){
const moment = require('moment-timezone')
const Client = require('pg-native')
const client = new Client()
client.connect('postgres://postgres:postgres@host:5432/postgres', function(err) {
if(err) throw err
const moment1 = moment()
for (let i = 0; i < 1000; i++) {
let rows = client.querySync('update json_test set data = data || \'{"SkillChance": 1}\', count =count+1 where id =$1',[1])
}
const moment2 = moment()
const diff = moment2.diff(moment1, 'seconds')
console.log(diff) //
})
}
Результат удручает - 1000 записей апдейтятся за 14 секунд. Что я не так делаю?
База пустая - 1 таблица с 1 строкой.
PS аналогичный тест Node+MongoDB отрабатывает за 1 секунду.
Но руководство хочет переходить на Postgres.
И если я не докажу, что связка Node+Postgres работает быстро, меня уволят ))