Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Gh0st Гость
|
Добавлено: Чт Май 01 2003 19:54 Заголовок сообщения: PHP Forum + MySQL = как оптимизировать? |
|
|
Суть такая. Решил сделать форум на php. прикинул, типа сделаю 2 таблицы с полями: xthreads - там темы лежат. идентификатор каждой темы - pid xreplies - ответы. там идентификатором будет pid - идентификатор темы и rid какой по счёту ответ. Вывод осуществляется так: Считается в xthreads количество записей ("SELECT COUNT(pid) FROM xthreads") а потом в цикле от $a=0 до этого количества ("SELECT * FROM xthreads WHERE pid=$a") Дело вот в чём, что если в админ интерфейсе сделать удалить тему, то например у нас было 5 тем pid=1,2,3,4,5 а стало 4 pid=1,2,4,5 то такой способ получения тем сбивается (он считает до 4х а 5ю тему он не выводит, т.к. у неё pid=5) Конечно можно сделать переименование всех pid на 1 меньше, но геморрой какой-то получается. Можно конечно завести поле "admin" в котором будут находится опции visible(типа тема видима и читаема) , closed (типа видима но незя добавлять ответы) и deleted типа тема не выводится на экран. Но тогда в MySQL такая помойка будет.... Внимание вопрос: Как оптимизировать вывод сообщений???? Помогите PLEASE!!!! Или может какие другие идеи есть???? |
|
Вернуться к началу |
|
|
epros Гость
|
Добавлено: Пт Май 02 2003 10:42 Заголовок сообщения: А зачем такие извраты? |
|
|
Почему только по одной записи за один запрос читаешь? Зачем вообще этот COUNT?
Если тебе нужно вывести список всех тем, почему бы просто не написать "SELECT * FROM xthreads ORDER BY pid"? Если ты боишься, что список окажется слишком длинным для вывода, можешь его сократить, например так: "SELECT * FROM xthreads ORDER BY pid LIMIT 15, 25" - выводить с 15-той по 25 записи. |
|
Вернуться к началу |
|
|
epros Гость
|
Добавлено: Пт Май 02 2003 11:01 Заголовок сообщения: Сорри |
|
|
LIMIT 15, 25 означает 25 записей после 15, т.е. с 16 по 40 включительно. |
|
Вернуться к началу |
|
|
|