Q2A uses entire qa_words table WRITE lock explicitly during two major events:
1. When user creates post: qa_words table WRITE is locked.
2. When user register: Entire Tables WRITE are locked.
Disadvantage:
Due to explicit locking All SELECT operations goes to wait state for long duration untill table gets unlocked. This is causing Q2A application unavailable to the users during that time interval.
This issue happens even if we use the InnoDB storage engine because here tables are locked explicitly.
Solutions/Suggestion:
--> We should use row level WRITE locking in the query for those two events using TRANSACTIONS.
@scott please review this at your end.