gpt4 book ai didi

mysql类别树搜索

转载 作者:可可西里 更新时间:2023-11-01 08:00:43 28 4
gpt4 key购买 nike

我在 MySQL 5.1 上有以下架构

CREATE TABLE  `mytest` (
`category` varchar(32) ,
`item_name` varchar(255)
KEY `key1` (`category`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

类别栏是这样填的

[:parent_parent_cat_id][:parent_cat_id][:leaf_cat_id]

10000200003000

如果您可以搜索以下所有类别:parent_parent_category_id

SELECT * FROM mytest WHERE category LIKE "10000%";

它正在使用索引 key1;

但是当我想搜索 :parent_cat_id 时如何使用索引?

SELECT * FROM mytest WHERE category LIKE "%20000%";

你有更好的解决方案吗?

最佳答案

此模型称为物化路径

您只需要将类别放在一个单独的表中,并让items引用该表,而不是路径:

SELECT  i.*
FROM categories c
JOIN items i
ON i.category = c.id
WHERE c.path BETWEEN
(
SELECT path
FROM categories ci
WHERE ci.id = '20000'
)
AND
CONCAT(
(
SELECT path
FROM categories ci
WHERE ci.id = '20000'
), ':')

关于mysql类别树搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4658236/

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