繁体   English   中英

SQL查询优化

[英]SQL query optimize

在幻灯片http://www.slideshare.net/billkarwin/models-for-hierarchical-data中 ,我看到了一个sql代码(第22页):

INSERT INTO Comments (author, comment)
VALUES (‘Ollie’, ‘Good job!’);

SELECT path FROM Comments
WHERE comment_id = 7;

UPDATE Comments
SET path = $parent_path || LAST_INSERT_ID() || ‘/’
WHERE comment_id = LAST_INSERT_ID();

我想我们可以优化它:

SELECT path FROM Comments
WHERE comment_id = 7;

INSERT INTO Comments (author, comment, path )
VALUES (‘Ollie’, ‘Good job!’,  $parent_path || LAST_INSERT_ID() || ‘/’);

我对吗?

是的,单个插入比插入后更新更好,但在这种情况下,自动生成的id(?)也被用作列值。 路径中使用的LAST_INSERT_ID()不是正在执行的当前insert语句的id,而是最后一个(上一个)插入的id。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM