小编Hoà*_*ăng的帖子

Laravel 5.5优化查询

我有一个关于每次从DB检索数据时减少数据库连接的问题。我假设我有5个表格(通知,订单,用户,产品,交易)

在仪表板中,我必须显示:

  • 未读的通知
  • 订单统计
  • 产品数量
  • 交易统计

最简单的方法(伪代码):

$notis = Notification::where('unread')->get();
$orderStat = Order::join('user')->where('count(order.id)', 'status')->groupby('status');
$product = Product::count();
$transactions = Transaction::join('user')->where('count(trans.id)', 'status')->groupby('status');
Run Code Online (Sandbox Code Playgroud)

因此,我必须运行4个单独的查询,正如我的导师说的那样,如果每个表中有很多记录,或者仪表板需要更多表(而不用于联接)进行查询,那么该解决方案将减少服务器的语音。
我已经做了:

  • 外键列索引
  • 渴望进行雄辩的加载(如果有的话)
  • (或在呈现UI后使用ajax加载数据)

我想问:对于上述情况,还有其他方法可以减少处理时间吗?
和其他有关的问题connection pool,他说用它来提高速度。经过研究发现,Laravel已经建立了连接池,不是吗?
编辑:
用户有许多通知,订单,交易。
我只想问一下上面没有提到的提高性能的方法。

php laravel eloquent laravel-5.5

2
推荐指数
1
解决办法
3911
查看次数

标签 统计

eloquent ×1

laravel ×1

laravel-5.5 ×1

php ×1