Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 3.08.2017 Ostrzeżenie: (0%)
|
Mam taki problem... Stworzyłem stronkę, gdzie można dodawać recenzje i wystawiać komentarze. Obecnie recenzje nie są weryfikowane i od razu pojawiają się na stronie. I uświadomiłem sobie, że gdy strona się rozrośnie, to może być problem ze spamem. Dlatego warto chyba byłoby wprowadzić w przyszłości moderację przed publikacją. Zastanawiam się, jak to rozwiązać, aby strona działała maksymalnie szybko? Kiedyś dla tabeli bazy danych (np. "review") wprowadzałem atrybut (np. "review_active") typu logicznego. Potem wyświetlałem na stronie tylko dane aktywne (po moderacji). Problem jest taki, że działało to wolno, bo większość wpisów była aktywna i index (key) niewiele dawał. Zapytania na tabeli z 300k wpisów potrafiły wykonywać się kilkanaście sekund. To zdecydowanie zbyt długo...
Jak najprościej rozwiązać ten problem? Pomyślałem, że można byłoby dodawać nowe wpisy do innej tabeli. Gdy moderator zatwierdzi wpis, to można byłoby dodać go w docelowej tebeli ("review") i usunąć z tej tymaczasowej... Ma to sens bądź można to zrobić lepiej? (IMG:style_emoticons/default/smile.gif) |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 6 809 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%)
|
Jeśli w tabeli będzie więcej rekordów aktywnych, niż nieaktywnych, to indeks i nie pomoże (przy warunku "aktywny=1").
Nie jest potrzebna odrębna tabela. Jeśli Twoje zapytanie wykonywało się wolno, to problemem jest najpewniej inny warunek w zapytaniu (być może na polu bez indeksu), a nie liczba rekordów. |
|
|
|
eerie [MySQL][PHP] Jak zrobić moderację nowych wpisów, aby działało to szybko? 24.06.2025, 21:22:14
Salvation Flaga "active" czy "moderated... 25.06.2025, 09:35:07
eerie W starym projekcie miałem sortowanie po dacie doda... 25.06.2025, 12:24:11
trueblue Na pola złączeń też powinny być założone indeksy. ... 25.06.2025, 13:39:06
eerie No właśnie... Ja ustawiałem indeksy dla kolumn, kt... 25.06.2025, 14:03:08
trueblue Nie wymagają. Choć jeśli np. klucz jest założony n... 25.06.2025, 15:09:23
eerie Dzięki za pomoc. Najprościej chyba zmodyfikować za... 25.06.2025, 16:58:23 ![]() ![]() |
|
Aktualny czas: 7.02.2026 - 16:54 |