数据库中有超过 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;
}
尝试部分索引:
如果数据很多,那么值得增加work_mem:
您还需要根据服务器的参数配置数据库服务器。这里为初学者提供了很好的服务https://pgtune.leopard.in.ua/#/