Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Jak zrobić moderację nowych wpisów, aby działało to szybko?
eerie
post
Post #1





Grupa: Zarejestrowani
Postów: 114
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)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
eerie
post
Post #2





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 3.08.2017

Ostrzeżenie: (0%)
-----


No właśnie... Ja ustawiałem indeksy dla kolumn, które używałem w WHERE lub ORDER BY. Ale przy PRIMARY KEY, UNIQUE KEY, FOREIGN KEY już nie stosowałem ponownie samego KEY (indeksu), bo wydawało mi się, że się będą niepotrzebnie dublować... (IMG:style_emoticons/default/smile.gif)

Jak to z tym jest? Klucz główny, unikalny i obcy wymagają dodatkowej deklaracji indeksu zwykłego (KEY)?

Ten post edytował eerie 25.06.2025, 14:11:19
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 08:35