Почему такое высокое пиковое использование памяти и общее время запроса в приложении CakePHP? - PullRequest
0 голосов
/ 18 августа 2011

Мой журнал таймера выглядит следующим образом: enter image description here

Мои 27 запросы базы данных заняли `21 мс

Один из запросов затронул 2919 строк. Мой вид отображает эти 2919 строк.

Почему загрузка страницы занимает так много времени? Это потому что рендеринг всего этого HTML?

Есть ли способ минимизировать пиковое использование памяти и общее время запроса?

EDIT: В моем контроллере:

$this->XXX->bindModel(
                array('hasAndBelongsToMany' =>
                    array(
                        ...
                        )
                    )
                )
        );

использовать find('all') (много данных о 2919 строках) и set результаты Вот и все

1 Ответ

2 голосов
/ 19 августа 2011

Когда вы извлекаете данные из базы данных, убедитесь, что вы ограничиваете результаты только полями, которые вам нужны, используя fields или ableable .Управление и создание больших массивов из результатов запросов к базе данных занимает много времени.

Кроме того, если вы создаете карту сайта, вы можете кэшировать результаты, поскольку обычно содержимое меняется не так часто (зависит отпроект конечно).

...