i verwendet diese Abfrage optimieren:wie mysql query in Phalcon
$brands = TblBrand::find(array("id In (Select p.brand_id From EShop\\Models\\TblProduct as p Where p.id In (Select cp.product_id From EShop\\Models\\TblProductCategory as cp Where cp.group_id_1='$id'))", "order" => "title_fa asc"));
if($brands != null and count($brands) > 0)
{
foreach($brands as $brand)
{
$brandInProductCategory[$id][] = array
(
"id" => $brand->getId(),
"title_fa" => $brand->getTitleFa(),
"title_en" => $brand->getTitleEn()
);
}
}
TblBrand => 110 Datensätze
TblProduct => 2000 Datensätze
TblProductCategory => 2500 Datensätze
wenn ich diesen Code verwendet, meine Seite nicht anzeigen und Seite sehr lange Zeit laden. .. aber wenn ich diesen Code entferne, zeige meine Seite.
Wie löst man dieses Problem?
Können Sie die gesamte Abfrage-Dump Soweit ich sehen kann, Sie subquery in Unterabfrage haben, die anfällig ist, langsam zu sein? – Mihai