【发布时间】:2011-02-02 09:27:11
【问题描述】:
表格是使用nested set model 组织的。当我插入一些东西时,我需要将所有具有左/右值 > 目标的东西移到左边。
UPDATE projects SET rgt = rgt + 2 WHERE rgt >= @superRgt;
此查询可能需要几秒钟才能完成,这是不可接受的。我的问题是;如何优化此查询? 有没有可能..
- 对表格的物理布局进行规范化/碎片整理/重新排序?
- 创建更好的索引?
- 更聪明地避免问题?
我们正在使用 Innodb 表,并且已经在左、右和左/右有索引。该表有大约 100k 行。
【问题讨论】:
标签: sql mysql optimization innodb