gpt4 book ai didi

PHP MYSQL refine search 多个查询

转载 作者:可可西里 更新时间:2023-11-01 08:06:54 25 4
gpt4 key购买 nike

我目前正在为一家汽车经销商建立一个网站。我想允许用户优化类似于亚马逊或易趣的搜索结果。通过单击缩小结果范围的能力会很棒。问题是我这样做的方式现在有许多不同的查询需要完成,每个查询总计 COUNT。

所以缩小结果的主要方法有:

  • 车辆类型
  • 年份
  • 制作
  • 价格范围
  • 新的/用过的

目前,每次加载此页面时,我都会进行 5 次查询,以在传入设置值时获取结果数。

查询 1:

SELECT vehicle_type, COUNT(*) AS total FROM inventory
[[ Already Selected Search Parameters]]
GROUP BY vehicle_type
ORDER BY vehicle_type ASC

查询 2:

SELECT make, COUNT(*) AS total FROM inventory
[[ Already Selected Search Parameters]]
GROUP BY make
ORDER BY make ASC

查询 3,4,5...

有什么办法可以在一个查询中做到这一点吗?是不是更快了?

最佳答案

您的查询似乎是合理的。

您可以使用 UNION ALL 在单个查询中完成:

SELECT 'vehicle_type' AS query_type, vehicle_type, COUNT(*) AS total
FROM inventory
...
GROUP BY vehicle_type

UNION ALL

SELECT 'make', make, COUNT(*) AS total FROM inventory ... GROUP BY make

UNION ALL

SELECT ... etc ...

这样做的性能优势不会很大。

如果您发现您经常触发这些查询并且结果不经常更改,您可能需要考虑缓存结果。考虑使用类似 memcache 的东西.

关于PHP MYSQL refine search 多个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11509895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com