3
2つ以上のテーブルがありますが、取り出し中に2,00,000データベースからのレコードが予想以上に時間がかかるので、サブクエリに変換する必要がありますか?SQL(laravelコントローラ)のサブクエリに変換する
次のコード:
->join('track_details','track_details.code','=',$esealTable.'.primary_id')
->join('track_history as th','th.track_id','=','track_details.track_id')
->join('locations as l','l.location_id','=','th.src_loc_id')
->join('products','products.product_id','=',$esealTable.'.pid')
->where(['level_id'=>0, 'products.product_type_id'=>8003])
->whereIn('l.location_type_id',[741,744])
->whereIn('th.transition_id',[537,569]);
->get(['primary_id as iot','products.material_code','th.sync_time as datetime'])
->take(200000);
私は、クエリからデータを取得しながら、2,00,000はあまりないと思います。しかし、カスタムメソッドやループでデータを処理するには時間がかかります。 JSONにこのデータを取得中 –
ええおかげ@Sagarゴータムは、実際に私は、array_mapを()とarray_uniqueメソッドを持っています。 –
だから、あなたはそれが、私は特定のクエリにORDER BY句を使用する場合、それはORDER BY句なしで、あまりにも多くの時間を割いてますちなみに最初のではなく、クエリの最適化 –