cuốn sách gpt4 ai đã làm

Truy vấn SQL "tồn tại", ngừng đếm!

In lại Tác giả: Người biết Thời gian cập nhật: 2024-03-12 00:56:13 29 4
mua khóa gpt4 Nike

Truy vấn "có" và "không" từ bảng cơ sở dữ liệu dựa trên một điều kiện nhất định. Vậy tại sao bạn cần **SELECT count(*)** khi viết SQL?

Dù bạn là một lập trình viên ngôi sao mới hay một lập trình viên kỳ cựu đã làm việc trong lĩnh vực này nhiều năm thì họ vẫn được tính như ngày nào.

Cách viết hiện nay của hầu hết mọi người

Khi REVIEW code nhiều lần thì mình thấy hiện tượng sau:

Trong mã doanh nghiệp, bạn cần truy vấn xem bản ghi có tồn tại dựa trên một hoặc nhiều điều kiện hay không, bất kể có bao nhiêu bản ghi. Các phương pháp viết mã và SQL phổ biến như sau

Phương pháp viết SQL

CHỌN số(*) TỪ bảng Ở ĐÂU a = 1 VÀ b = 2

Phương pháp viết Java

int nums = xxDao.countXxxxByXxx(params); if ( nums > 0 ) { //Khi nó tồn tại, hãy thực thi mã ở đây} else { //Khi nó không tồn tại, hãy thực thi mã ở đây }

Cảm thấy ổn không?

Kế hoạch tối ưu hóa

Phương pháp viết được đề xuất như sau:

Phương pháp viết SQL

CHỌN 1 TỪ bảng Ở ĐÂU a = 1 VÀ b = 2 GIỚI HẠN 1

Phương pháp viết Java

Số nguyên tồn tại = xxDao.existXxxxByXxx(params); if ( tồn tại != NULL ) { //Khi nó tồn tại, hãy thực thi mã ở đây} else { //Khi nó không tồn tại, hãy thực thi mã ở đây }

SQL không còn sử dụng số lượng mà thay vào đó sử dụng GIỚI HẠN 1, cho phép cơ sở dữ liệu trả về khi gặp một mục và không tiếp tục tìm kiếm xem còn lại bao nhiêu mục.

Bạn có thể trực tiếp xác định xem nó có trống trong mã doanh nghiệp hay không.

Tóm tắt

Càng tìm thấy nhiều mục dựa trên các điều kiện truy vấn thì sự cải thiện hiệu suất sẽ càng rõ ràng. Trong một số trường hợp, việc tạo các chỉ mục chung cũng có thể bị giảm đi.

Đề xuất 3 dự án springboot+Vue gốc, kèm theo video giải thích, tài liệu và mã nguồn đầy đủ:

[dailyhub] [Thực tế] Đưa bạn xây dựng một dự án Springboot+elasticsearch+channel hoàn chỉnh từ đầu
  • Video giải thích: https://www.bilibili.com/video/BV1Jq4y1w7Bc/
  • Tài liệu phát triển hoàn chỉnh: https://www.zhuawaba.com/post/124
  • Trình diễn trực tuyến: https://www.zhuawaba.com/dailyhub
[VueAdmin] Hướng dẫn bạn từng bước cách phát triển hệ thống quản lý tách biệt front-end và back-end với SpringBoot+Jwt+Vue
  • Video giải thích: https://www.bilibili.com/video/BV1af4y1s7Wh/
  • Hoàn thành tài liệu phát triển front-end: https://www.zhuawaba.com/post/18
  • Phần phụ trợ tài liệu phát triển hoàn chỉnh: https://www.zhuawaba.com/post/19
  • Trình diễn trực tuyến: https://www.markerhub.com/vueadmin/
[VueBlog] Hướng dẫn đầy đủ về dự án blog tách biệt front-end và back-end được phát triển dựa trên SpringBoot+Vue
  • Video giải thích: https://www.bilibili.com/video/BV1PQ4y1P7hZ
  • Tài liệu phát triển hoàn chỉnh: https://www.zhuawaba.com/post/17

29 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress