horoshinkin777, вот вы любители изобретать велосипеды
прежде чем писать что-то нужно это спроектировать
ты должен решить множество вопросов, до написания структуры, да и во время написания она не раз будет изменена
но когда у тебя возникают вопросы как сделать чтобы работало уже на придуманной тобой структуре это говорит о плохо спроектированной бд
Ты подумал как будешь выводить не саму переписку, а диалоги, кто с кем общался, как вывести последний диалог
как быстро будет работать запрос, будут ли использоваться индексы, какие индексы будут использоваться
я уже писал что дублировать сообщения в базе, входящие - отправленные не совсем плохо, если это окупится быстрым и удобным запросом, с минимумом индексов на колонках