[英]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.