вставка/обновление строки в зависимости от ее доступности в базе данных

Это распространенный сценарий, но я хотел выяснить, какой из способов является оптимизированным для производительности способом и передовой практикой .

У меня есть таблица с 4 столбцами:id, name и двумя другими полями. Id — это PK, а name — уникальный ключ. Я читаю данные из файла excel, заполняю значения каждой строки в объекте домена, а затем сохраняю их. При сохранении я хочу увидеть, существует ли уже запись с таким же именем, и если она существует, я хочу ее обновить. В противном случае сохраните его как новую запись.

Я могу сделать это с помощью обычного запроса выбора для имени и проверки на значение null, и на основе этой вставки или обновления, но у меня есть тысячи строк для чтения из файлов Excel и запрошено не-функциональное требование производительность .

Пожалуйста, посоветуйте мне, как лучше справиться с этим senario? я еще не начал кодировать свою часть уровня сохраняемости, поэтому я могу переключиться на ORM или простой jdbc в соответствии с вашим предложением.

Отредактировано:Если я использую имя в качестве первичного ключа, то я думаю, что могу использовать saveOrUpdate или объединиться с ORM, чтобы удовлетворить свои потребности. Это хорошая идея??? С уважением, Прасат.

5
задан Taryn 20 November 2013 в 19:47
поделиться