【发布时间】:2013-07-08 22:29:06
【问题描述】:
我正在使用一个实现了单链表(id、parent)的表。这个实现一直运行良好,但最近性能变得难以忍受,因为我的列表越来越长,而且我一直在单独查询节点。
我发现了一篇很有前途的博客,介绍了如何在单个查询中进行查询。 http://explainextended.com/2009/03/25/sorting-lists/
SELECT @r AS _parent,
@r := (
SELECT id
FROM t_list
WHERE parent = _parent
) AS id
FROM (
SELECT @r := 0
) vars,
t_list
唯一的问题是我对 MySQL 的了解不够,甚至无法使用它。我的问题与我在博客 cmets 上发布的问题相同。如何设置从哪个记录/节点开始?就像我想从示例表中的 id 3 开始一样。它如何知道它何时到达列表末尾并应该停止?我已经尝试过了,它永远运行(可能是由于与前一个问题相关的不当使用)。
谢谢。
【问题讨论】:
-
能否请您在sqlfiddle.com 上发布您的设置或只是准备一个数据库转储?
标签: mysql sql linked-list