У меня работает служба Prisma (1.14.2), которая подключена к базе данных PostgreSQL. Мне нужно вставить множество узлов с отношением «один ко многим» в базу данных PostgreSQL через коннектор Prisma. Сейчас я делаю это следующим образом. Массивы strokes
и samples
содержат много узлов:
for (let strokeIndex = 0; strokeIndex < painting.strokes.length; strokeIndex++) {
const stroke = painting.strokes[strokeIndex];
const samples = stroke.samples;
const createdStroke = await PrismaServer.mutation.createStroke({
data: {
myId: stroke.id,
myCreatedAt: new Date(stroke.createdAt),
brushType: stroke.brushType,
color: stroke.color,
randomSeed: stroke.randomSeed,
painting: {connect: {myId: jsonPainting.id}},
samples: { create: samples }
}
});
}
В случае 128 штрихов и 128 сэмплов для каждого штриха (т.е. всего 16348 семплов) это занимает около 38 секунд.
Интересно, есть ли способ ускорить процесс? Тем более, что количество штрихов и семплов может стать намного больше. Я мог бы использовать prisma import ...
, который показал 6-кратное ускорение. Но я хочу избежать обязательного преобразования в Формат нормализованных данных (NDF).
Я читал об ускорении INSERT в PostgreSQL в целом, но я не уверен, могу ли я применить это к разъему Prisma и как это сделать.
std::string
илиstd::string_view
, вы можете просто использоватьstring_variable.front() == string_variable.back()
, не оплачивая все расходы, необходимые для регулярного выражения - person NathanOliver   schedule 28.02.2019