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

mysql - Có cách nào hiệu quả hơn để viết truy vấn MySQL này không?

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 10:51:58 28 4
mua khóa gpt4 Nike

Tôi có truy vấn sau và phải mất nhiều thời gian để chạy và tôi tự hỏi liệu có cách mã hóa nào hiệu quả hơn không. Tôi có hai bảng DEVICE_LASTUPDATE và DEVICE_EVENTS.

Bảng DEVICE_LASTUPDATE có khoảng 14 bản ghi như dưới đây:

DEVICE_ID LAST_UPDATE
thiết bị1 2014-06-01 08:25:23
thiết bị2 2014-06-01 09:01:45
thiết bị3 2014-06-01 07:43:06
thiết bị4 2014-06-01 11:13:14
...vân vân

Bảng DEVICE_EVENTS có hơn một triệu bản ghi, như hiển thị bên dưới:

DEVICE_ID CREATED_DATE SỰ KIỆN_CODE
thiết bị1 2014-06-01 08:25:23 1011
thiết bị1 2014-06-01 09:01:45 2025
thiết bị3 2014-06-01 07:43:06 1015
thiết bị2 2014-06-01 15:13:09 2115
thiết bị1 2014-06-01 11:20:19 1551
...vân vân

Điều tôi muốn là tìm DEVICE_LASTUPDATE.LAST_UPDATE = DEVICE_EVENTS.CREATED_DATE cho mỗi DEVICE_ID trong DEVICE_LASTUPDATE và trả về EVENT_CODE của những DEVICE_ID đó

SQL sau đây là những gì tôi đã chạy và nó hoạt động nhưng rất chậm (trung bình 5,5 giây):

CHỌN * TỪ (CHỌN * TỪ DEVICE_LASTUPDATE) NHƯ bản cập nhật cuối cùng 
THAM GIA THIẾT BỊ_EVENTS
WHERE DEVICE_EVENTS.CREATED_DATE = bản cập nhật cuối cùng.LAST_UPDATE
VÀ DEVICE_EVENTS.DEVICE_ID = cập nhật lần cuối.DEVICE_ID

câu trả lời hay nhất

CHỌN LU.DEVICE_ID, E.EVENT_CODE
TỪ THIẾT BỊ_LASTUPDATE LU
THAM GIA THIẾT BỊ_EVENTS E
BẬT (LU.DEVICE_ID = E.DEVICE_ID VÀ LU.LAST_UPDATE = E.CREATED_DATE);

Đồng thời xem xét LU.DEVICE_ID, LU.LAST_UPDATEE.DEVICE_ID, E.CREATED_DATE Thêm chỉ mục vào.

Về mysql - có cách nào hiệu quả hơn để viết truy vấn MySQL này không? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/24064814/

28 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
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