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 } }
# variables travel separately: { "id": "42" } — the document shape never changesViệc giữ nguyên shape còn là điều kiện cho hai kỹ thuật quan trọng: persisted query, nơi client gửi hash thay vì cả document; và allowlist, nơi server từ chối mọi truy vấn không đă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.