Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để tối ưu hóa các chỉ mục mysql để các thao tác INSERT diễn ra nhanh chóng trên một bảng lớn với việc ghi và đọc thường xuyên?

Viết các thao tác cho một hàng vào một bảng dữ liệu không nên mất 5 giây, bất kể kích thước của bảng.

Chỉ mục nhóm của bạn có dựa trên trường dấu thời gian không? Nếu không, nó nên được, vì vậy bạn không viết vào giữa bàn của bạn ở đâu đó. Ngoài ra, hãy đảm bảo rằng bạn đang sử dụng bảng InnoDB - MyISAM không được tối ưu hóa để ghi.

Tôi đề nghị viết thành hai bảng:một bảng dài hạn, một bảng báo cáo ngắn hạn có ít hoặc không có lập chỉ mục, sau đó sẽ được hủy khi cần thiết.

Một giải pháp khác là sử dụng bộ nhớ đệm hoặc cơ sở dữ liệu trong bộ nhớ cho dữ liệu báo cáo trực tiếp, do đó, không có tác động nào đối với cơ sở dữ liệu sản xuất.

Một suy nghĩ nữa:chính xác thì một trong hai báo cáo này phải "sống" như thế nào? Có lẽ truy xuất danh sách mới theo thời gian so với một lần cho mọi lượt xem trang là đủ.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thay đổi định dạng ngày trong truy vấn

  2. Cách tốt nhất để tạo tệp cấu hình (config.php) php

  3. Nhận phần trăm Đếm (*) cho số lượng tất cả các mục trong GROUP BY

  4. Thêm dữ liệu vào dữ liệu hiện có trong Cơ sở dữ liệu MySQL

  5. MySQL tìm kết quả hàng đầu cho mỗi nhóm