<span class="gmail_quote"></span>Hi, all i am doing is adding a new child:<br><br>&nbsp;&nbsp; &nbsp;&nbsp; new = Menu.new<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new.save<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new.move_to_child_of Menu.find(params[:menu][:id]<br><br>Yet, there are so many select * ... why?
<br><br>&nbsp; SQL (0.001530
)&nbsp;&nbsp; BEGIN<br>&nbsp; SQL (0.002496)&nbsp;&nbsp; SELECT max(rgt) AS max_rgt FROM menus WHERE (1 = 1)<br>&nbsp; Menu Create (0.044471)&nbsp;&nbsp; INSERT INTO menus (&quot;updated_at&quot;, &quot;lft&quot;, &quot;lock_version&quot;, &quot;parent_id&quot;, &quot;rgt&quot;, &quot;created_at&quot;) VALUES(&#39;2007-08-14 2
<br>3:28:23.611885&#39;, 9, 0, NULL, 10, &#39;2007-08-14 23:28:23.611885&#39;)<br>&nbsp; SQL (0.048153)&nbsp;&nbsp; SELECT currval(&#39;menus_id_seq&#39;)<br>&nbsp; SQL (0.032054)&nbsp;&nbsp; COMMIT<br>&nbsp; Menu Load (0.026600)&nbsp;&nbsp; SELECT * FROM menus WHERE (menus.&quot;id&quot; = 3)
<br>&nbsp; SQL (0.001428)&nbsp;&nbsp; BEGIN<br>&nbsp; Menu Load (0.048451)&nbsp;&nbsp; SELECT * FROM menus WHERE (menus.&quot;id&quot; = 5)<br>&nbsp; Menu Load (0.132441)&nbsp;&nbsp; SELECT * FROM menus WHERE (menus.&quot;id&quot; = 3)<br>&nbsp; Menu Update (0.026690)&nbsp;&nbsp; UPDATE menus SET lft = CASE WHEN lft BETWEEN 8 AND 8 THEN lft + 2 WHEN lft BETWEEN 9 AND 10 THEN lft + -1 ELSE
<br>&nbsp;lft END, rgt = CASE WHEN rgt BETWEEN 8 AND 8 THEN rgt + 2 WHEN rgt BETWEEN 9 AND 10 THEN rgt + -1 ELSE rgt END, parent_id = CASE WHEN id<br>&nbsp;= 5 THEN 3 ELSE parent_id END WHERE (1 = 1)<br>&nbsp; Menu Load (0.002911)&nbsp;&nbsp; SELECT * FROM menus WHERE (menus.&quot;id&quot; = 5)
<br>&nbsp; Menu Load (0.001854)&nbsp;&nbsp; SELECT * FROM menus WHERE (menus.&quot;id&quot; = 3)<br>&nbsp; SQL (0.006460)&nbsp;&nbsp; COMMIT<br>