使用临时表进行联合?

ma8fv8wu  于 2021-06-19  发布在  Mysql
关注(0)|答案(0)|浏览(187)

我有一张这样的table

item_id| attribute_1 | attribute_2 | creation_date

我想为每个属性建立一个“过滤器”搜索。前任。

Attribute 1
  <checkbox> value 1 (x)
  <checkbox> value 2 (x)
  <checkbox> value 3 (x)

Attribute 2
  <checkbox> value 1 (x)
  <checkbox> value 2 (x)
  <checkbox> value 3 (x)

其中x=每个属性值的产品数
经过一番思考,我发现mysql实现这一点的唯一方法就是使用这种查询(除此之外,我还需要一些过滤器的条件,例如creation\u date>“2018-10-10”:

SELECT 
    `attribute_2` as attribute, COUNT(*) AS counter 
FROM
    TABLENAME
WHERE
    creation_date > "2018-10-10"
GROUP BY
    attribute_2

UNION ALL

SELECT `attribute_1` as attribute, COUNT(*) AS counter
FROM
    TABLENAME
WHERE
    creation_date > "2018-10-10"
GROUP BY
    attribute_1

所以,我很担心表现。我是否需要创建一个创建日期为“2018-10-10”的临时表并处理该临时表?
这会提高性能吗?
您是否看到其他方法可以为这种类型的需求编写更有效的查询?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题