gpt4 book ai didi

mysql - 查询 : Select products from master- and subcategories

转载 作者:行者123 更新时间:2023-11-29 23:18:59 26 4
gpt4 key购买 nike

我需要在一个查询中从主类别及其所有子类别中选择产品。

我有 3 个表:项目、类别、itemCategories(包含项目和类别之间的链接)。我的类别有左值和右值 ( Wikipedia: Nested set model )。

我对 leftCount 5 和 rightCount 58 的主类别的查询:

SELECT i.* FROM itemCategories ic, categories c, items i 
WHERE i.isActive = '1' AND i.isHidden = '0'
AND ic.itemId = i.id AND ic.categoryId = c.id
AND c.leftCount BETWEEN 5 AND 58
ORDER BY i.sortingValue, i.name

我有大约 16.000 个产品,上面的查询将列出大约。其中50%。据我所知,这应该是一个简单的操作,但查询大约需要 0.1100 秒。

索引适用于:

  • 类别中的剩余数量
  • 项目中的 isActive 和 isHidden
  • itemCategories 中的 itemId 和 CategoryId

您有任何性能建议吗?

更新

当我删除 ORDER BY 时,查询时间减少到 0.0007 秒。所以我猜时间花在了对临时表进行排序上。有任何性能助推器可以帮助实现这一目标吗?

最佳答案

categories.idcategories.leftCount 上放置 BTREE 索引:

ALTER TABLE categories ADD INDEX myIXD USING BTREE (id, leftCount)

关于mysql - 查询 : Select products from master- and subcategories,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27511448/

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