Задать вопрос
@samokiller

Как из dll с++ отправить несколько операторов в одном запросе к mysql разом?

Пишу dll на c++, vs15, mysql.h

Мне поступают записи, я все их складываю в 1 таблицу.
Со временем таблица стала слишком большая и я решил что лучше разделить все записи по признакам A, B, C...Z и складывать каждую запись в свою соответствующую таблицу tableA, tableB, tableC... tableZ

Однако, если раньше я отправлял, раз в секунду, в одном запросе пару тысяч записей одним оператором
"insert into db.table values (1),(2)..."
То теперь нужно предварительно рассортировать входящие данные и отправить, условно, 3 оператора:
"insert into db.tableA values (1),(2)..."
"insert into db.tableB values (1),(2)..."
"insert into db.tableC values (1),(2)..."
...
"insert into db.tableZ values (1),(2)..."

Можно внутри цикла все отправить, благо объём данных тот же самый. Но это уже Z запросов, а не 1.

Если же попробовать отправить все Z insert одной пачкой, разделив ";" то сервер вообще такое не принимает.

Вопрос: Можно ли как то отправлять insert в несколько таблиц разом, чтобы избежать доп.нагрузки на множество транзакций между dll и БД?
  • Вопрос задан
  • 30 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы