В БД есть болеее 5 000 000 записей. Информации в них не много - фильтрация идёт по одному полю, которое является индексом.
Как максимально быстро получить данные с пагинацией в yii2 То что у меня получается работает минимум по 10 секунд.
В контроллере:
$query = Logs::get_msgs();
$countQuery = clone $query;
$pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize' => 100]);
$pages->pageSizeParam = false;
И в моде
public function get_msgs()
{
$msgs = (new \yii\db\Query())
->select('*')
->from('msgs')->orderBy('date');
$msgs= $msgs->where(['type' => '1']);
return $msgs;
}
Попробуйте частичные индексы:
create index "msgs_type_1_index" ON "msgs" using btree ("type", "date" ASC) WHERE "type" = 1;
analyse "msgs";
В случае, если много данных, то стоит увеличить work_mem:
set work_mem = '100MB' -- значение подбираете самостоятельно, основываясь на explain analyse
Также необходимо настроить сервер бд согласно параметрам вашего сервера. Неплохой сервис для новичков здесь https://pgtune.leopard.in.ua/#/
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
В шаблоне есть код для меню, которое берется из БД
Подскажите пожалуйста, есть telegram botЕсть условие, если клиент написал "Привет" бот скидывает клиенту сообщения "Напишите ваше имя"
Установлен PHP 71, echo phpinfo() сообщает о подключенном драйвере SQLite
вообщем в чем проблема есть сайт на вп нужна структура ссылок ЧПУ состояющая из таксономийСразу говорю что статью подсмотрел на каме, под...