Пожалуйста, засуньте в одну транзакцию сохранение данных о крафте предметов (удаление ресурсов, затраченных на крафт, добавление скрафченных предметов и повышение мастерства в результате крафта), а также в одну транзакцию сохранение данных о выполнении квестов (то бишь данных об удалении из журнала заданий выполненного квеста, удаление квестовых предметов и добавлении в рюкзак награды за квест). Это позволит избежать при так называемых "откатах" таких ситуаций, когда квест исчез, а награда не появилась или скрафченный предмет остался, а проф мастерство снизилось.
Для тех кто не в курсе, транзакция - это группа логически объединённых последовательных операций по работе с данными, обрабатываемая или отменяемая целиком.
Таким образом лагов из-за таких объединений не прибавится.