问题描述
- 怎么在多表查询中建立索引,实现效率的提高,谢谢。
-
select s.id,s.name,p.price,m.name as clientname,m.register_address,z.img_source from cl_product_i18n s,cl_product n,t_mdm_client m,
cl_category_product_rel t,pr_price p,cl_product_address d,cl_product_image z
where s.id=p.product_id and s.id=z.product_id and d.product_id=s.id and t.product_id=s.id and n.id=s.id and m.id=n.merchant_id
and p.price_type='" + PriceTypeEnum.SALE_PRICE +"' and p.sale_channel=2 and t.catalog_id=150 and s.id='"+productId+"';
解决方案
每个表出现在条件中的字段上建索引。如果一个表同时用到多个字段,数据库支持索引包含就用包含(如下),否则就建在一个索引中。
pr_price(product_id)包含(price_type,sale_channel)
cl_category_product_rel(product_id)包含(catalog_id)
解决方案二:
增加索引提高查询效率
时间: 2024-10-01 12:04:02