![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 96 Pomógł: 6 Dołączył: 22.08.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Chcę wyciągnąć ilość unikalnych osób, które głosowały. Zakładamy, że użytkownik może głosować kilka razy.
Powyższe zapytanie działa tak jak chcę, jednak czas wykonywania jest nie do zaakceptowania i wynosi 0.8-1.0 sekundy. Dodam, że tabela posiada aktualnie około 600 000 rekordów. Da się szybciej? (IMG:style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Zapewne masz jakąś tabelę która reprezentuje sondę na którą mogą głosować użytkownicy, tak? Dodaj do niej dwie kolumny total_votes oraz total_unique_votes. Następnie dodaj sobie wyzwalacz, który po dodaniu rekordu do tabeli vote zwiększy wartości obu kolumn i analogicznie przy usunięciu zmniejszy je. Dzięki temu w ogóle nie będziesz musiał dynamicznie zliczać tych głosów.
EDIT: Dopiero teraz zauważyłem "type = 5" - w takim razie raczej powyższe będzie bezużyteczne. Ten post edytował Crozin 24.05.2011, 10:52:14 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 03:04 |