Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: czas wykonywania zapytania
Forum PHP.pl > Forum > Bazy danych
deniol13
  1. SELECT users.user_id, users.username, users.avatar, users.signature, users.user_posts, users.user_topics, users.user_group, users.reputation, users.warnings, topics.topic_replies, posts.post_id, posts.parent_topic, posts.message, posts.poster_id, posts.date, groups.group_name, groups.group_style, groups.group_image
  2. FROM users, topics, posts, groups
  3. WHERE topics.topic_id = '. mysql_real_escape_string( $_GET['id'] ) .'
  4. AND topics.topic_poster = users.user_id
  5. AND users.user_group = groups.group_id
  6. AND posts.parent_topic = '. mysql_real_escape_string( $_GET['id'] ) .'
  7. ORDER BY posts.date ASC
  8. LIMIT '. $start .', '. $limit


no masakra biggrin.gif
bardzo dlugo sie wykonuje przy probie wyswietlenia 10 rekordow
nie jestem ekspertem od SQL takze nie wiem jak poprawic optymalnosc (nie chce trzymac wszystkich danych w jednej tabeli )



w sumie w PHPMYADMIN to wykonuje sie szybko

wyswietlam to za pomoca
while( $post = mysql_fetch_assoc(..) )
{
...
}
Crozin
1) Jeżeli w PMA wykonuje się szybko, to znaczy, że co innego spowalnia Twój skrypt
2) Użyj EXPLAIN, aby zobaczyć czy prawidłowo ponakładałeś indeksy w bazie danych
3) Jeżeli wątek dotyczy zapytania SQL, to podawaj konkretne zapytanie, a nie fragment kodu, który takowe generuje
deniol13
juz naprawione >:D
AND topics.topic_poster = users.user_id

na
AND posts.poster_id = users.user_id

znalazlem to bo zawsze tego samego usera pokazywalo
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.