Mysql 我的数据获取太慢了。我的sql有什么问题吗?

Mysql 我的数据获取太慢了。我的sql有什么问题吗?,mysql,sql,Mysql,Sql,我目前在项目中面临一个问题。当我搜索产品时,获取数据花费的时间太长。 这是sql代码 SELECT * FROM product_info LEFT JOIN ( SELECT bulk_stock_info.bulk_unit_buy_price,bulk_stock_info.general_unit_sale_price,bulk_stock_info.bulk_unit_sale_price,bulk_stock_info.product_id as pid

我目前在项目中面临一个问题。当我搜索产品时,获取数据花费的时间太长。 这是sql代码

SELECT * FROM product_info 
    LEFT JOIN (
        SELECT bulk_stock_info.bulk_unit_buy_price,bulk_stock_info.general_unit_sale_price,bulk_stock_info.bulk_unit_sale_price,bulk_stock_info.product_id as pid 
        FROM bulk_stock_info 
        ORDER BY bulk_id DESC
        ) bulk_stock_info 
    ON bulk_stock_info.pid = product_info.product_id 
WHERE (`product_name` RLIKE ' +$query') OR `product_name` LIKE '$query%';"

没有理由使用子查询或外部联接:

SELECT pi.*
       bsi.bulk_unit_buy_price, bsi.general_unit_sale_price, bsi.bulk_unit_sale_price
FROM product_info pi JOIN
     bulk_stock_info bsi
     ON bsi.product_id = pi.product_id 
WHERE pi.product_name RLIKE ' +$query' OR pi.product_name LIKE '$query%'

从子查询中删除
ORDER BY bulk\u id DESC
。为什么
ORDER BY
?对子查询进行排序有什么意义?根据
on
子句,其中的行与主查询中的行连接,因此查询它们的顺序并不重要。如果不知道查询的解释结果,我们将帮不上什么忙