五个级别类别的递归列表?

时间:2012-05-26 04:32:15

标签: php mysql

我在现有的类别列表中面临着巨大的问题。我们的一个客户有65,000个嵌套类别。

第一级仅限于10级。

Cat A
  Cat B
     Cat B_a
     Cat B_b
     Cat B_c
     Cat B_d
  Cat C
  Cat D
  ....
Cat AA
  Cat B
  Cat C
  Cat D
  ....
Cat AAA 
......

现有代码正在生成具有这种SQL

的数组
SELECT * 
  FROM kl_document_user_label 
  WHERE 
    customer_id='xxx' 
    and position RLIKE '^([0-9]+>){1,1}$' 
    AND ( user_crerate='0' OR user_crerate='1') 
  ORDER BY 
    ulable_name

在65,000个嵌套类别的情况下,它被绞死。

1 个答案:

答案 0 :(得分:0)

如果您有5个级别,则可以使用左连接将同一个表连续地连接到parent_id。我个人认为你不需要一个嵌套的集合,如果你的应用程序支持它,那么带有递归函数的数据库会很有用。