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

Công cụ lưu trữ Mysql cho bảng nhật ký

Vâng, theo câu hỏi của bạn, InnoDB nên thực hiện công việc vì:

  1. Khả năng mở rộng của nó tốt hơn rất nhiều so với MyISAM
  2. Đó là khóa hàng, do đó, nếu bạn muốn viết nhiều hơn là chọn, nó sẽ phù hợp hơn.
  3. Cuối cùng, vì bạn đã nói rằng chúng sẽ hiếm khi được truy cập, nên không cần MyISAM vì nó tốt hơn cho các truy vấn được chọn.

Kiểm tra phần này để biết thêm thông tin

CHỈNH SỬA

Vâng, trong phần bình luận, bạn hỏi về các động cơ khác. Đây là danh sách đầy đủ của động cơ. Trong số đó, như bạn đã nói archive có một nhược điểm là những cái khác không phù hợp với yêu cầu của bạn. Đây là báo giá từ trang web MySQL:

InnoDB has been designed for maximum performance when processing large data volumes. 
Its CPU efficiency is probably not matched by any other disk-based relational database
engine.

Vì vậy, về cơ bản:

  1. Nếu bạn định sử dụng MEMORY, không như bạn đã nói, bạn sẽ không truy cập dữ liệu nhiều và bảng của bạn sẽ phát triển quá nhiều. Bạn sẽ cần rất nhiều RAM cho việc đó và khi khởi động lại, tất cả dữ liệu sẽ bị mất.
  2. Nếu bạn định sử dụng MyISAM, hãy đừng vì nó được thiết kế cho các bảng có các truy vấn chọn lọc thường xuyên hơn là chèn và cập nhật.
  3. Về phần lưu trữ, đó là sự lựa chọn của bạn. Tại đây là một so sánh giữa MyISAM và kho lưu trữ cho một bảng nhật ký. Tuy nhiên, tôi sẽ gắn bó với InnoDB.
  4. Tôi thậm chí sẽ không đề cập đến Hợp nhất, Lỗ đen, Ví dụ và các công cụ khác. (Tôi không có nhiều kiến ​​thức về công cụ CSV nhưng theo những gì tôi đã đọc, đó không phải là công cụ phù hợp cho loại bảng này.

Thành thật mà nói, tôi đã từng mất rất nhiều thời gian trước khi thực hiện một bước chuyển quan trọng trong việc viết mã. Tôi nghiên cứu hàng giờ, có thể nhiều ngày về một vấn đề để xem cách nào là phù hợp nhất. Tôi sẽ cho bạn biết điều gì, nghiên cứu là tốt, nhưng sau một thời gian nếu nó ngăn cản bạn làm việc thì bạn nên dừng lại, uống một ly cà phê và đưa ra lựa chọn của mình ngay lập tức. Do đó, chỉ cần thử cách thích hợp nhất với bạn và khi bạn sẽ trải nghiệm, bạn sẽ tìm thấy một cách thậm chí còn tốt hơn, bằng cách tự mình cố gắng. Ý tôi là, tôi không tin rằng Facebook được thiết kế cho một khối lượng lớn như vậy, nhưng khi nó phát triển, họ tiếp tục thay đổi cấu trúc cho phù hợp. Đó là những gì tôi tin, mặc dù có thể không phải là thực tế :) Dù sao, hy vọng rằng thông tin đó sẽ giúp bạn.

CHỈNH SỬA 2013

Dưới đây, bạn sẽ tìm thấy các mô tả ngắn gọn cho các công cụ lưu trữ MySQL tích hợp sẵn.

MyISAM

Các bảng này bao gồm các tối ưu hóa bổ sung, chẳng hạn như cơ chế lập chỉ mục và bộ đệm nâng cao, giúp truy cập nhanh vào dữ liệu. Sử dụng khóa mức bảng, công cụ lưu trữ MyISAM cung cấp cho các hoạt động đồng thời. Khi hiệu suất đọc là một mối quan tâm, nói chung, MyISAM là sự lựa chọn.

Bộ nhớ

Còn được gọi là bảng heap, bảng bộ nhớ lý tưởng để truy xuất nhanh dữ liệu được sử dụng thường xuyên mà hiếm khi bị thay đổi (chẳng hạn như mã quốc gia, mã zip hoặc các bảng tra cứu khác). Như tên cho thấy, dữ liệu được lưu trữ trong bộ nhớ và do đó truy cập nhanh hơn nhiều so với dữ liệu được lưu trữ trong đĩa. Một hạn chế đáng kể đối với việc sử dụng bộ nhớ là dữ liệu hợp lệ trong phiên MySQL. Khi nó gặp sự cố hoặc tắt dữ liệu sẽ bị mất.

InnoDB

Một trường hợp mà bạn sẽ phải sử dụng công cụ lưu trữ này là khi bạn cần sử dụng khóa ngoại hoặc giao dịch. InnoDB đồng thời hơn MyISAM vì nó cung cấp khóa cấp hàng. Công cụ lưu trữ có độ tin cậy cao. Một trường hợp khác khi bạn muốn sử dụng bộ nhớ này là khi bạn ghi nhiều hơn đọc. Khi bạn thường xuyên ghi dữ liệu vào bảng, hãy thử sử dụng bộ nhớ này xem nó có đồng thời hơn MyISAM không.

Lưu trữ

Nó được thiết kế để lưu trữ một lượng lớn dữ liệu ở định dạng nén. Một trong những trường hợp sử dụng của công cụ lưu trữ này là lưu trữ dữ liệu lưu trữ hoặc dữ liệu lịch sử hoặc nhật ký bảo mật. Bảng không sử dụng chỉ mục nên để truy xuất và lưu trữ dữ liệu hàng ngày, nó không phải là một lựa chọn tốt. Đó là khóa cấp độ hàng và dữ liệu được giải nén nhanh chóng khi được yêu cầu. Hơn nữa, không thể thay đổi bảng.

Hợp nhất

Hợp nhất được sử dụng để 'hợp nhất' các bảng được phân vùng nằm trên cùng một máy. Khi bạn chia một bảng lớn thành nhiều bảng nhỏ hơn và truy cập chúng đồng thời bằng cách sử dụng bảng hợp nhất, lợi ích lớn nhất là tốc độ của nó. Tìm kiếm và sắp xếp sẽ thực thi nhanh hơn vì có ít dữ liệu hơn trong bảng.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hàm strtotime () trong PHP sai 1 giờ?

  2. Tại sao MySQL không sử dụng bất kỳ khóa nào trong số này?

  3. Dữ liệu phân cấp - Mô hình tập hợp lồng nhau:MySql

  4. Làm cách nào để kết nối cơ sở dữ liệu MySql với Firebase?

  5. Kiểm tra sự chồng chéo của các phạm vi ngày trong MySQL