Dùng biến thì query document giữ nguyên shape cho mọi giá trị, nên server phân tích và cache được, còn giá trị được kiểm tra kiểu theo schema.
Ghép chuỗi tạo ra một truy vấn khác nhau mỗi lần và cho phép người dùng ảnh hưởng tới cấu trúc truy vấn.
graphql
query GetPost($id: ID!) { post(id: $id) { title } }
# biến đi riêng: { "id": "42" } — hình dạng document không đổiViệc giữ nguyên shape còn là điều kiện cho hai kỹ thuật quan trọng: persisted query (client gửi hash thay vì cả document); và allowlist (server từ chối mọi truy vấn chưa đăng ký).
Một lợi ích thực dụng khác: với biến, công cụ codegen tạo ra kiểu chính xác cho tham số ở phía client, nên gõ sai tên hay sai kiểu bị bắt lúc biên dịch thay vì lúc chạy.