So sánh nhiều query ít bản ghi và 1 query nhiều bản ghi?

Hello mọi người,

Mọi người cho em hỏi là: Nếu giờ em query 3 lần mỗi lần lấy ra 5 bản ghi và query 1 lần lấy ra 15 bản ghi thì cách nào nên dùng hơn ạ?
Mong mọi người dành chút thời gian rảnh để giúp em với ạ.

Em cảm ơn,
Have a goog day.

query 1 lần lấy ra 15 bản ghi

Theo kinh nghiệm của mình thì cách này nên dùng hơn.
Nếu có thể, thì tạo ra càng ít lần truy vấn càng tốt.

Truy vấn nhiều lần, database sẽ phải lọc lại dữ liệu nhiều lần.
Thời gian chờ vận chuyển dữ liệu qua lại cũng nhiều hơn.

4 Likes

Dạ. Cảm ơn anh.
Cho em hỏi thêm là nếu không phải là 15 mà là 150 thì sao ạ.

@Suong_Nguyen

Cho em hỏi thêm là nếu không phải là 15 mà là 150 thì sao ạ.

Cũng vậy thôi, lấy ra lượng dữ liệu cần thiết với càng ít truy vấn càng tốt.
Trừ trường hợp lượng dữ liệu quá lớn (vài trăm nghìn record chẳng hạn) có thể làm hết RAM hoặc ảnh hưởng cái gì khác thì lúc đó mới cần suy nghĩ đến chuyện truy vấn nhiều lần.

4 Likes

câu hỏi không thiết thực nên cũng không cần phải so sánh làm gì
trong thực tế, nếu như có thể viết bằng 1 câu sql thì chả ai rảnh viết 2 3 câu làm gì. tôi chưa từng thấy ai làm như vậy cả, đặc biệt là đối với câu query select
nó phải gắn với 1 ngữ cảnh cụ thể, còn ngữ cảnh mà người ta có thể lựa chọn một trong hai cách thì sau bao nhiêu năm học và làm việc, tôi chưa thấy

5 Likes

Mình đoán ông hỏi câu này đang lúng túng chỗ paging hay kỹ thuật phân trang gì đó, có lẽ ổng đọc thấy người ta query ít, LIMIT đủ số biểu ghi cần dùng mà thôi.

Rồi xong ổng lại hiểu nhầm/ hoang mang ở chỗ query 100 biểu ghi khi phân trang, mỗi trang có 20 biểu ghi thì phải chạy 5 query. Vậy, sao không chạy luôn 1 query lấy luôn 100 biểu ghi?

Nỏ thần một lúc bắn 100 mũi so với có 100 cái nỏ thường cùng bắn. Chọn cách nào đây hỡi con cháu Lạc Hồng? :upside_down_face:
Túm lại, phải hiểu tại sao phải chạy 1 query mà không 5 query và ngược lại. Nếu không tự giải thích được thì tốt hơn hết làm cái nào cảm thấy dễ hơn, rồi sau đó tính sau.

7 Likes

Cảm ơn anh đã trợ giúp em. Không phải như anh nghĩ đâu ạ :smiley:

Cũng hơi khó để mô tả ạ.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?