Có rất nhiều giải pháp NoQuery xung quanh, mỗi giải pháp đều có điểm mạnh và điểm yếu riêng, vì vậy những điều sau đây phải được thực hiện bằng một hạt muối.
Nhưng về cơ bản, những gì nhiều cơ sở dữ liệu NoQuery làm là dựa vào việc không chuẩn hóa và cố gắng tối ưu hóa cho trường hợp không chuẩn hóa. Ví dụ, giả sử bạn đang đọc một bài đăng blog cùng với các bình luận trong cơ sở dữ liệu hướng tài liệu. Thông thường, các bình luận sẽ được lưu cùng với chính bài đăng. Điều này có nghĩa là sẽ nhanh hơn để truy xuất tất cả chúng cùng nhau, vì chúng được lưu trữ ở cùng một nơi và bạn không phải thực hiện nối.
Tất nhiên, bạn có thể làm tương tự trong SQL và việc không chuẩn hóa là một cách phổ biến khi một người cần hiệu năng. Chỉ có nhiều giải pháp NoQuery được thiết kế từ đầu để luôn được sử dụng theo cách này. Sau đó, bạn nhận được sự đánh đổi thông thường: ví dụ, việc thêm một nhận xét trong ví dụ trên sẽ chậm hơn vì bạn phải lưu toàn bộ tài liệu với nó. Và một khi bạn đã không chuẩn hóa, bạn phải bảo toàn tính toàn vẹn dữ liệu trong ứng dụng của mình.
Hơn nữa, trong nhiều giải pháp NoQuery, không thể thực hiện các phép nối tùy ý, do đó các truy vấn tùy ý. Một số cơ sở dữ liệu, như CouchDB, yêu cầu bạn phải suy nghĩ trước các truy vấn bạn sẽ cần và chuẩn bị chúng bên trong DB.
Nói chung, nó tập trung vào việc mong đợi một lược đồ không chuẩn hóa và tối ưu hóa các lần đọc cho tình huống đó và điều này hoạt động tốt đối với dữ liệu không liên quan cao và yêu cầu đọc nhiều hơn ghi.