In my standalone installation MySQL "explain" shows that query function getFriendsList is "using temporary" and "using filesort". This is very bad becaue causes high server load. First of all I am going to optimize this query and suggest other users to do so if this query doesn't use indexes.
I have a few questions regarding other queries. I hope that somebody can answer so that I don't need to spend days learning how Arrowchat works.
In my configuration Heart Beat is set to 5 sec. What are the queries that are being executed every 5 seconds?
How often are being executed the query in function getFriendsList (how often refreshes the friends list)?
What about Banlist? I don't need it at all. Does script checks this table before sending each message to the chat?
How often are sent queries to arrowchat_trayicons table? On page refresh?
Where Arrowchat stores the number of new messages? It just counts unread messages in arrowchat table?
How often user status is being updated? It's not very important for me to show that user is typing. I would like to remove this feature if it makes extra MySQL queries just to show that user is typing.
Right now I have an iframe on my website which refreshes every 5 minutes to check for new private messages and update my own online users table. Now this can be done with help of Arrowchat. So, I have idea to move all columns from arrowchat_status table to existing online users table. Users who don't show any activity are being removed from this table via cronjob. So, there will be no need for this condition in Arrowchat query:
- Code: Select all
AND (arrowchat_status.session_time + 60 + ".$online_timeout.") > ".time()."
because offline users can't exist in ti table. Can I get any problems by moving arrowchat_status to xisting onlin users table?
Thanks.