Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dlugo realizuje zapytanie..
Forum PHP.pl > Forum > Bazy danych
suryx
Nie wiem w jaki sposob ma ,zeby przyszpieszyc realizacja. I posiadam php fusion v7 , zrobie wlasny forum..

Moj SQL :

SELECT a.forum_id, a.thread_subject, b.post_datestamp, b.post_author FROM ".DB_POSTS." a
LEFT JOIN ".DB_POSTS." b ON b.thread_id = a.thread_id
LEFT JOIN ".DB_FORUMS." c ON c.forum_cat AND c.forum_id
WHERE c.forum_cat='13' AND c.forum_id=a.forum_id ORDER BY b.post_datestamp DESC, a.post_datestamp ASC LIMIT 1

+----------+---------------------------------------+----------------+-------------+
| forum_id | thread_subject | post_datestamp | post_author |
+----------+---------------------------------------+----------------+-------------+
| 10 | Jaka jest Wasza ulubiona cywilizacja? | 1233868283 | 2 |
+----------+---------------------------------------+----------------+-------------+
1 row in set (0.41 sec)

0.41sec = to tak dlugo , raczej w sumie z php dluzej niz to co widac.

thread_subject w kazdym kategorii(c.forum_cat) jest ostatnim postem , a b.post_datestamp = swiezy czas kiedy zrobil post i a.post_datestamp = kiedy zalozyl pierwszy post.
seth-kk
1. indeksy
2. tabela ze statystykami ktora przechowuje id najnowszego posta i jest uaktualniana z insertami
suryx
jak czyta po zalozeniu indeksu (create index) ?


który lepszy : CREATE INDEX czy VIEW ?
dr_bonzo
Wroc do podstaw baz danych.
Index to indeks, view to widok, cos zupelnie innego.

A po zalozeniu indeksu nic w Selekcie nie zmieniasz.
Pokaz CRETE TABLE od twoich tabel + wynik explain twojego zapytania

Kod
EXPLAIN SELECT a.forum_id, a.thread_subject, b.post_datestamp, b.post_author FROM ".DB_POSTS." a
LEFT JOIN ".DB_POSTS." b ON b.thread_id = a.thread_id
LEFT JOIN ".DB_FORUMS." c ON c.forum_cat AND c.forum_id
WHERE c.forum_cat='13' AND c.forum_id=a.forum_id ORDER BY b.post_datestamp DESC, a.post_datestamp ASC LIMIT 1
suryx
milo mi ,ze tu odpisales.

yyyyyyyyhh... prosze tu wynik.
+----+-------------+-------+--------+---------------+-----------+---------+----------------+------+---------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+--------+---------------+-----------+---------+----------------+------+---------------------------------+
| 1 | SIMPLE | a | ALL | NULL | NULL | NULL | NULL | 3885 | Using temporary; Using filesort |
| 1 | SIMPLE | c | eq_ref | PRIMARY | PRIMARY | 3 | pf.a.forum_id | 1 | Using where |
| 1 | SIMPLE | b | ref | thread_id | thread_id | 3 | pf.a.thread_id | 10 | |
+----+-------------+-------+--------+---------------+-----------+---------+----------------+------+---------------------------------+
3 rows in set (0.01 sec)

nie wiem co dalejj mam zrobic ?

Potrzebuje mnie tutorial/kurs bardziej zawansowany i wiecej szczegolów, przykladow. Ablo jakis program do stworzenia zapytania?
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.