У меня есть таблица, в которой хранятся сообщения от одного пользователя другому. сообщения (user_id, friend_id, сообщение, created_date). Мой первичный ключ (friend_id, создал_дата). Это предотвращает дублирование сообщений (AFAIK), потому что их не удастся вставить.
Сейчас это нормально, потому что мой код генерирует около 20 таких запросов одновременно для каждого пользователя, и у меня есть только один пользователь. Но если бы были сотни или тысячи пользователей, это создало бы узкое место в моей базе данных со всеми неудачными транзакциями? И если что я могу сделать, чтобы улучшить ситуацию?
EDIT:
Вопрос сводится к тому, должен ли я использовать ограничение первичного ключа, проверить вне mysql или использовать некоторые другие функции mysql, чтобы сохранить дубликаты в базе данных?