Cześć,
Mam pytanie, jakie rozwiązanie będzie dla mnie lepsze? Mam taki scenariusz:
Użytkownik wypełnia formularz z pytaniem. Pytanie zapisuje się do bazy w tabeli z pytaniami. Następnie inni użytkownicy odpowiadają na w/w pytanie, odpowiedzi zapisują się do tabeli z odpowiedziami.
Kiedy autor pytania loguje się, w jego profilu potrzebuję wyświetlić wszystkie zamieszczone przez niego pytania, wszystkie odpowiedzi do tych pytań i informacje o autorze odpowiedzi.
Jak to najlepiej rozwiązać? Na razie robię join:
  1. SELECT * FROM `answers` LEFT JOIN `questions` ON answers.question_id = questions.id WHERE questions.userid = ".$userId

Teraz to mi wypluwa listę pytań z odpowiedziami. Czy tak jak jest jest ok, dodać do tego jeszcze join autorów odpowiedzi i jakieś porcjowanie danych, np po 100 rekordów? Czy też może lepiej podzielić, to na więcej mniejszych zapytań: najpierw pytania użytkownika, potem odpowiedzi z id pytania, na koniec autorzy odpowiedzi.
Od frontendu będę miał do tego osobne widoki renderowane ajaxem: 1) listę zamieszczonych zadań, 2) po kliknięciu pojawią się odpowiedzi, 3) po kliknięciu na odpowiedź - pojawi się jej autor.
Zastanawiam sie czy lepiej, żeby przy każdym requescie ajaxowym treść już była pobrana do jakiegoś obiektu? Czy też dopiero powinna się dociądać?
Na razie nie mam wielu rekordów w bazie, ale chcę, żeby wszystko było jak najbardziej skalowalne, szybkie, całość sprawnie chodziła w telefonie ze słabym połączeniem sim.
No i nie nie wysypało mi się, kiedy już będę miał tysiąc pytań w bazie, kilkaset odpowiedzi do każdego pytania i dwa tysiace użytkowników do przeszukania?
Dzięki z góry za komentarze.