Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Dużo shoutbox'ów
Forum PHP.pl > Forum > Przedszkole
.Wojtek
Witam

Na mojej przyszłej stronie, obok pewnej aplikacji, będę chciał zamieścić za każdym razem pustego shoutboxa. Dana rozmowa na shoutbox'ie będzie przypisana do niepowtarzalnego ID. Jeżeli kiedyś zostanie otworzona strona z tym ID, to wyświetli się tylko rozmowa, która była prowadzona pod tym ID. Nie zamierzam zbyt szybko usuwać wpisów shoutboxa, dlatego przewiduję, że tabela shoutboxa może mieć wiele tysięcy rekordów. Ze względów wydajnościowych jak najlepiej "zaprojektować" taką bazę danych?
Myślałem o dwóch rozwiązaniach:

1. Po prostu zrobić zwykły shoutbox na jednej tabeli sql i dodać pole ID_aplikacji i gdy będę wyświetlał shoutbox'a, przeszukiwać tabelę po tym ID:

czyli:
tabela `shoutbox`:
  1. ID || msg || ID_aplikacji
  2.  
  3. i
  4.  
  5. SELECT `msg` FROM `shoutbox` WHERE `ID_aplikacji` = '...'


2. ID_aplikacji będzie odnalezione w bazie do innego celu, więc może wpisy shoutboxa po linijce wpisywać do pola `wszystkie_wpisy_shoutboxa`?

czyli:
tabela `id_aplikacji`:
  1. ID || ID_aplikacji || wszystkie_wpisy_shoutboxa
  2.  
  3. i
  4.  
  5. SELECT `wszystkie_wpisy_shoutboxa` FROM `id_aplikacji` WHERE `ID_aplikacji` = '...'
tehaha
szczerze mówiąc nie widzę różnicy pomiędzy tymi dwoma opcjami oprócz innych nazwa kolumn, w każdym wystarczy jak wszystkie wiadomości będziesz trzymał w jednej tabeli i dasz tylko dodatkową kolumnę z ID aplikacji na podstawie, której będziesz pobierał rekordy przypisane do konkretnej strony czy tam aplikacji, nie ma sensu w takiej sytuacji bardziej tego komplikować
.Wojtek
Zaznaczam, że i tak będę musiał wyciągać pewne dane z tabeli `id_aplikacji` z wiersza o danym ID, więc może nie ma potrzeby robić osobno tabeli shoutboxa i przeszukiwać jej, tylko dodać pole, w którym bym wpisywał całą rozmowę danego ID? Nie wiem czy takie rozwiązanie nie utrudniło by dynamicznego wczytywania najnowszych wpisów shoutboxa... czarodziej.gif
Zastanawiam się czy mi takie przeszukiwanie shoutbox'a z np. milionem wpisów nie będzie spowalniało strony. snitch.gif
tehaha
no w końcu baza danych została stworzona do tego, żeby przechowywać dużo danych, więc nie wiem w czym tu widzisz problem, najlepiej, żeby to było w osobnej tabeli i jeden wpis to jeden rekord, a nie jakieś kombinowanie, że całą rozmowę do jednego wiersza bo to więcej komplikacji wprowadzi, jeżeli zastanawiasz się nad szybkością działania to przecież możesz dodać milion rekordów i sprawdzić ile czasu zajmuje pobranie tego
.Wojtek
Oki, dzięki. Widzę, że po prostu nie wierzyłem w możliwości MySQL'a. laugh.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.