|
|
|
| Обращаюсь к высшим умама этого форума.
Прошу проконсультировать по поводу скорости отдачи из базы.
Хотелось бы узнать как можно ускорить
$page1 = mysql_query("SELECT * from page WHERE id_parent = '0' ");
while ($p1 = mysql_fetch_array($page1))
{
}
|
Возможно ли это делать быстрее? А то задержки при выводе информации из большой базы, порой напрягают. | |
|
|
|
|
|
|
|
для: Doorgen
(10.06.2009 в 10:56)
| | Смотря что выбираете...
Если в результате выборки нужны не все поля, то вместо * нужно указать через запятую именно те которые нужны.
По поводу ограничения количества строк по средствам LIMIT точно не знаю, но по идее тоже должно ускорить.
Да и от структуры базы зависти, можт какое-нить поле проиндексировать нужно. | |
|
|
|
|
|
|
|
для: Doorgen
(10.06.2009 в 10:56)
| | создать индекс на поле id_parent | |
|
|
|
|
|
|
|
для: Trianon
(10.06.2009 в 14:41)
| | А если * заменить на поля, хорошо ускорит? | |
|
|
|
|
|
|
|
для: Doorgen
(11.06.2009 в 13:05)
| | а проверить не судьба? :) | |
|
|
|
|
|
|
|
для: ronin80
(11.06.2009 в 13:12)
| | я просто не дома... а мне очень интересно | |
|
|
|
|
|
|
|
для: Doorgen
(11.06.2009 в 13:16)
| | ну если количество столбцов не меняется то я думаю нет | |
|
|
|
|
|
|
|
для: Doorgen
(11.06.2009 в 13:05)
| | зависит от объема полей. | |
|
|
|
|
|
|
|
для: Doorgen
(11.06.2009 в 13:05)
| | если в базе 5 полей, а при выборке Вам нужны всего 4, то замена * на имена этих полей - ускорит выборку, на сколько это уже другой вопрос ("на глаз" Вы это не заметите), но зависимость я думаю прямопропорциональная и чем больше полей в базе и меньше необходимых полей в результате выборки, тем выше скорость этой самой выборки.
(в книгах пишут примерно так, на практике не проверял, но оснований сомневаться лично у меня нет) | |
|
|
|