diff --git a/src/executor/engine/cartridge/backend/sql/tree.rs b/src/executor/engine/cartridge/backend/sql/tree.rs
index 4590883c5655fcd32940daa09174b74a04790b07..8d20745e65fa3e6475509c412dcad34ebec37f04 100644
--- a/src/executor/engine/cartridge/backend/sql/tree.rs
+++ b/src/executor/engine/cartridge/backend/sql/tree.rs
@@ -512,7 +512,7 @@ impl<'p> SyntaxPlan<'p> {
                     // `SELECT` and `FROM`.
                     let expr = ir_plan.get_expression_node(*output)?;
                     if let Expression::Row { list, .. } = expr {
-                        let mut nodes: Vec<usize> = Vec::with_capacity(list.len());
+                        let mut nodes: Vec<usize> = Vec::with_capacity(list.len() * 2);
                         if let Some((last, elements)) = list.split_last() {
                             for elem in elements {
                                 nodes.push(self.nodes.get_syntax_node_id(*elem)?);
@@ -609,7 +609,7 @@ impl<'p> SyntaxPlan<'p> {
                     Ok(self.nodes.push_syntax_node(sn))
                 }
                 Relational::Values { children, .. } => {
-                    let mut sn_children: Vec<usize> = Vec::with_capacity(children.len() * 2 - 1);
+                    let mut sn_children: Vec<usize> = Vec::with_capacity(children.len() * 2);
                     if let Some((last_id, other)) = children.split_last() {
                         for child_id in other {
                             sn_children.push(self.nodes.get_syntax_node_id(*child_id)?);
@@ -691,6 +691,7 @@ impl<'p> SyntaxPlan<'p> {
                     let mut nodes: Vec<usize> =
                         vec![self.nodes.push_syntax_node(SyntaxNode::new_open())];
                     if let Some((last, elements)) = list.split_last() {
+                        nodes.reserve(list.len() * 2);
                         for elem in elements {
                             nodes.push(self.nodes.get_syntax_node_id(*elem)?);
                             nodes.push(self.nodes.push_syntax_node(SyntaxNode::new_comma()));