簡體   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