Показать сообщение отдельно
  #2  
Старый 23.11.2012, 06:09
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

1. Использовать транзакцию. Т.е. все действия делать в одной транзакции.
2. Сначала получить выборку по ключевым полям на клиента и проверять в памяти (не надо делать доп. запрос на каждую запись). Конечно, если такая выборка не очень большая.
3. Переложить проверку на сервер, создав уникальный констрейнт по ключевым полям. Тогда вообше проверять не надо - в случае, если запись с такими значениями существует, то просто будет ошибка вставки.
4. Batch insert - объединить несколько операций в ставки в один запрос (кстати, как раз MySQL кажется поддерживает для этого специальный формат запроса INSERT).
Ответить с цитированием