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

Khóa hàng và khóa bảng MySQL

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

Trước hết, tôi có hình ảnh sau trong cơ sở dữ liệu của mìnhhọc sinhbề mặt:

khóa cấp hàng

Ở đây tôi mở hai máy khách và hai giao dịch để truy cập cơ sở dữ liệu. Bạn có thể hiểu nó là hai người dùng.

khách hàng1:

khách hàng2:

Vậy làm thế nào chúng ta có thể chứng minh rằng đó làkhóa cấp hàng thay vì khóa cấp độ bảng Vải len?
chúng ta có thể kiểm tra nókhách hàng2Liệu có thể ghi các hàng dữ liệu khác hay không:

chúng tôi đã tìm thấy khách hàng2 Nó sẽ không bị chặn khi ghi các dòng dữ liệu khác nên đã chứng minh được điều đó khách hàng1 Đã thêm khóa cấp hàng

khách hàng1:

cam kết giao dịch

khách hàng2:

khóa cấp độ bảng

Trước tiên hãy kiểm tra dữ liệu của bảng hiện tại.

Hãy kiểm tra lại lần nữa

khách hàng1:

khách hàng2:

Tại sao khóa cấp bảng thay vì khóa cấp hàng được thêm vào đây?

Ở đây tôi đưa ra kết luận trực tiếp:

Nếu có một chỉ mục trong điều kiện ở đâu, innodb sẽ thêm khóa cấp hàng theo mặc định.
Nếu không có chỉ mục trong điều kiện ở đâu, innodb sẽ thêm các khóa cấp bảng theo mặc định.

Trên thực tế, điều này rất dễ hiểu. Mục đích của việc khóa không gì khác hơn là để đảm bảo rằng một số dữ liệu nhất định sẽ không bị sửa đổi bởi nhiều luồng cùng lúc trong các điều kiện đồng thời.
Trong trường hợp chỉ mục, vì một hàng dữ liệu có thể được xác định duy nhất nên không cần thêm khóa bảng. Vì chúng ta biết thread hiện tại đang hoạt động trên một hàng dữ liệu cụ thể nên không cần phải khóa các hàng dữ liệu khác.
Các cột không được lập chỉ mục không phải là duy nhất nên toàn bộ bảng sẽ bị khóa.

khóa phạm vi

Trước tiên hãy kiểm tra dữ liệu của bảng hiện tại.

khách hàng1:

Những gì bị khóa là dữ liệu hàng trong phạm vi.

khách hàng2:

Kiểm tra thao tác ghi trên các hàng dữ liệu được trả về:

Viết các hoạt động ngoài phạm vi:

26 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