Ничего себе! Много вопросов!
, Пока год назад я не положился 100% на транзакции. Теперь его только 98%. В особых случаях веб-сайтов интенсивного трафика (как Sara упомянул) и также высоко разделил данные, осуществив потребность распределенных транзакций, transactionless архитектура может быть принята. Теперь необходимо будет кодировать ссылочную целостность в приложении.
кроме того, мне нравится управлять транзакциями декларативно с помощью аннотаций (я - парень Java), и аспекты. Это - очень очевидный способ для определения границ транзакции, и он включает функциональность распространения транзакции.
Производительность должна быть в порядке - лучше, чем два запроса. Вы должны знать, что длина ограничена , хотя:
Результат усекается до максимальной длины, которая задается системной переменной group_concat_max_len , которая имеет значение по умолчанию 1024. Значение можно установить выше, хотя эффективная максимальная длина возвращаемого значения ограничена значением max_allowed_packet. Синтаксис для изменения значения group_concat_max_len во время выполнения выглядит следующим образом, где val - целое число без знака:
SET [GLOBAL | SESSION] group_concat_max_len = val;