SQL - wydajność - wiele tablic czy jedna duża

0

Mamy sobie do zapisania np. wątki z forum, ew. coś innego. Powiedzmy tysiące wątków każdy z setkami postów.

Czy lepiej wrzucić dziesiątki-setki tysięcy postów do jednej tablicy i potem wydobywać je po ID wątku, czy może stworzyć setki / tysiące tablic osobno dla każdego wątku? Czy to może bez różnicy dla szybkości wyszukiwania? Ew. jakieś inne rozwiązania?

0

@Wibowit: możesz - proszę - napisać jeszcze raz? Bo w powiadomieniach widzę, że mi tu odpisałeś, a w wątku nie widać tego posta :/

1

Chodziło mi o to, że jak zrobisz 100 tabel to żeby je wszystkie przeszukać musisz albo zrobić 100 zapytań albo zrobić jakiegoś dziwoląga typu:

select <cośtam> from wątek1
union
select <cośtam> from wątek2
union
select <cośtam> from wątek3
(...)
select <cośtam> from wątek100

Generalnie nie spotkałem się z robieniem identycznych tabel. Jeśli chcesz zoptymalizować wydajność wyciągania wszystkich postów dla jednego wątku to możesz kombinować z partycjonowaniem tabeli względem IDka wątku.

1

Mamy sobie do zapisania np. wątki z forum, ew. coś innego. Powiedzmy tysiące wątków każdy z setkami postów.

Na tak małej ilości danych nie ma większej różnicy.

Czy lepiej wrzucić dziesiątki-setki tysięcy postów do jednej tablicy i potem wydobywać je po ID wątku

Przy faktycznie dużej liczbie rozważałbym coś takiego, im mniej jakichkolwiek relacji pomiędzy tabelami tym lepiej im większa skala.

P.S mówię w odniesieniu do klasycznych relacyjnych DB jak MySQL czy PostgreSQL

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0