Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Złożone zapytanie i dziwne zachowanie sie MySQL, Gdy dodam trzecią zależność OR muli SQL
Przemo`
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 15.05.2004
Skąd: Kraków

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


Mam wykonać zapytanie:
  1. INSERT DELAYED IGNORE
  2. INTO przemo_read_history (user_id, forum_id, topic_id, post_id, post_time)
  3. SELECT DISTINCT us.user_id, 33, 11080, 80504, 1114438808
  4. FROM przemo_user_group g, przemo_auth_access aa, przemo_users us
  5. WHERE aa.forum_id = 33 AND us.user_lastvisit > 1113229208 AND (
  6.    (
  7.       us.user_active = 1
  8.       AND ug.user_pending = 0
  9.       AND ug.user_id != 2
  10.       AND us.user_id != -1
  11.       AND aa.group_id = ug.group_id
  12.       AND ug.user_id = us.user_id
  13.       AND
  14.       (
  15.          (
  16.             aa.auth_read != 0 AND aa.auth_view != 0
  17.          ) OR aa.auth_mod = 1
  18.       )
  19.    )
  20.    OR us.user_level = 1
  21. )
I problem sie pojawia gdy w którymkolwiek miejscu dodaje OR us.user_level = 1 nieważne czy jest to na koncu, czy na poczatku tego drzewa zależności i niezależnie od umieszczenia nawiasów, za każdym razem gdy to dodam zapytanie trwa kilkanaście sekund, a bez tego trwa ułamek sekundy.
Próbowalem zamiast user_level dać inną zalezność i dalej to samo
Nie wiecie co może byc powodem?
Przy tym zapytaniu dodawane jest kilkanaście wpisów a tabela ma kilka tysięcy wpisów.
Na nielicznych serwerach wyrzuca błąd zapytania SQL, juz w tej chwili nie pamiętam jaki i nie mam zapisanego, ale też powodem jest ten ostatni OR
Struktura tabeli przemo_read_history wygląda tak:
  1. user_id mediumint(8) NOT NULL DEFAULT '0',
  2. forum_id smallint(5) UNSIGNED NOT NULL DEFAULT '0',
  3. topic_id mediumint(8) UNSIGNED NOT NULL DEFAULT '0',
  4. post_id mediumint(8) UNSIGNED NOT NULL DEFAULT '0',
  5. post_time int(11) NOT NULL DEFAULT '0',
  6. PRIMARY KEY (user_id, forum_id, topic_id, post_id, post_time),
  7. KEY user_id (user_id),
  8. KEY forum_id (forum_id),
  9. KEY topic_id (topic_id)


Ten post edytował Przemo` 25.04.2005, 18:51:28
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: 26.09.2025 - 23:23