如果我仍然使用MySQL而不是MySQLI,表示抱歉。将尽快升级,但目前我需要找到解决这个问题的方法。改进MySQL查询
我有一个查询,我认为已经优化,这显然不是。
我在水果表小于200行但它的查询需要约15秒即可完成
下面是该查询:
SELECT `o`.`fruits_id` FROM `fruits` as `o`
JOIN `fruits_categories` as `oc` ON `o`.`fruits_id` = `oc`.`fruits_id`
JOIN `categories` as `c` ON `c`.`fru_id` = `oc`.`fru_id`
WHERE ((o.fruits_name LIKE '%apple orange%' OR o.fruits_description LIKE '%apple orange%' OR o.instagram_tag LIKE '%apple orange%' OR c.cat_name LIKE '%apple orange%' OR p.price_name LIKE '%apple orange%')
OR ((o.fruits_name LIKE '%apple%' OR o.fruits_description LIKE '%apple%' OR o.instagram_tag LIKE '%apple%' OR c.cat_name LIKE '%apple%' OR p.price_name LIKE '%apple%')
AND (o.fruits_name LIKE '%orange%' OR o.fruits_description LIKE '%orange%' OR o.instagram_tag LIKE '%orange%' OR c.cat_name LIKE '%orange%' OR p.price_name LIKE '%orange%')))
GROUP BY `o`.`fruits_id`
我担心的是,当数据库的增长,搜索将无法使用,因为它可能需要永久。
所有帮助表示赞赏。
乙
这么多类似查询会降低性能 –