What is the reason to have user_jid table?
we checked a bit a logic with Offline storage for 1-1 messages and found that these messages are stored in msg_history table
but along with this Tigase also uses user_jid.
What is the reason to have user_jid table? As I see it only contains users JIDS info and the msg_history table has links to it."
Could you please clarify a bit
Added by Artur Hefczyc about 4 years ago
This is just kind of DB optimization. We reduce space used to store data as well as improve DB searching performance. We could store users' JIDs in msg_history table along with messages, however, please note, JID can potentially be 2048 characters long (according to the XMPP spec). As UTF-8 can be used for JIDs, it means that in extreme cases the JID can occupy even 6kB. Keeping this extra 6kB with every message record would be a great waste of space and would slow down the DB performance.
Instead, we have separate table with JIDs and only references in the msg storage table.