Hướng dẫn how big is too big for mysql database? - lớn bao nhiêu là quá lớn đối với cơ sở dữ liệu mysql?
Không có một giải pháp chung tuyệt vời nào cho câu hỏi "Làm thế nào lớn quá lớn" - những mối quan tâm như vậy thường phụ thuộc vào những gì bạn đang làm với dữ liệu của bạn và những cân nhắc về hiệu suất của bạn là gì. Show Có một số giới hạn cơ bản trên kích thước bảng. Bạn không thể có hơn 1000 cột. Hồ sơ của bạn không thể lớn hơn 8k mỗi cái. Những giới hạn này thay đổi tùy thuộc vào công cụ cơ sở dữ liệu. (Những cái ở đây là cho Innodb.) Có vẻ như bạn đã hợp nhất một số bộ dữ liệu khác nhau vào một bảng. Bạn có thể có một số trường cho bạn biết dữ liệu nào đặt bản ghi này liên quan, cùng với một số trường dữ liệu và một số thông tin dấu thời gian. Đó không phải là một bản ghi rất rộng (trừ khi bạn đăng nhập, giả sử, tất cả các tham số đầu vào của mỗi yêu cầu.) Vấn đề chính của bạn sẽ là với tính chọn lọc. Lập chỉ mục bảng này một cách có ý nghĩa sẽ là một thách thức. Nếu các trường chung của bạn có thể đủ chọn lọc để bạn có thể sử dụng chúng để đến các hồ sơ bạn muốn mà không cần tham khảo bảng, đó sẽ là một điểm cộng rất lớn. (Xem quét bảng)selectivity. Indexing this table in a meaningful way will be a challenge. If your common fields can be selective enough that you can use them to get to the records you want without consulting the table, that will be a huge plus. (Cf. table scan) Đối với nhiều hồ sơ mỗi ngày (về cơ bản, hai một giây cả ngày và tôi cho rằng bạn có thời gian tải cực đại khi nó cao hơn nhiều), bạn cũng muốn đảm bảo rằng bạn đặc biệt xem xét tối ưu hóa về việc cải thiện việc chèn tốc độ, vận tốc. Theo nguyên tắc chung, nhiều chỉ mục hơn = chèn chậm hơn. Nếu bạn có thể, hãy xem xét lưu trữ hoàn toàn các hồ sơ lỗi thời cho một bảng khác. Trong các nơi làm việc trước đó, chúng tôi đã sử dụng một chiến lược lưu trữ của tháng trước, ba tháng trước, sáu tháng trước, mỗi bảng trong các bảng riêng biệt. Một ý tưởng khác là xóa các hồ sơ cũ hơn. Nhiều môi trường chỉ đơn giản là không cần thông tin ngoài một ngày nhất định. Treo vào hồ sơ ghi nhật ký từ ba tháng trước thường quá đắt.improving insertion speed. As a general rule, more indexes = slower insertions. If you can, consider archiving off outdated records to another table entirely. In prior workplaces, we've used an archival strategy of Last Month, Prior Three Months, Prior Six Months, each in separate tables. Another idea is to delete older records. Many environments simply don't need information beyond a certain date. Hanging on to logging records from three months ago is often overly expensive. Cuối cùng, đừng bỏ qua việc lưu trữ vật lý của bàn của bạn. Hồ sơ của bạn càng mỏng, IO vật lý càng ít cần phải đọc (hoặc cho vấn đề đó, để chèn) một bản ghi. Bạn có thể lưu trữ các chỉ mục của mình trên một ổ cứng vật lý riêng biệt. Nếu có nhiều dữ liệu dự phòng trong hồ sơ của bạn lưu trữ bảng được nén thực sự có thể tăng tốc độ. Nếu bạn có một ít tiền mặt để đốt, hãy xem xét giá trị của một mảng RAID tốt để sọc dữ liệu của bạn.physical storage of your table. The thinner your records are, the less physical IO needs to occur to read (or for that matter, to insert) a record. You can store your indexes on a separate physical hard drive. If there's a lot of redundant data in your records storing the table compressed might actually be a speed increase. If you have a little cash to burn, consider the value of a good RAID array for striping your data. Vì vậy, để trả lời câu hỏi cơ bản của bạn: Đó là rất nhiều hồ sơ, nhưng với một con mắt cẩn thận đối với việc điều chỉnh, nó sẽ không phải là một vấn đề.
Làm thế nào lớn là quá lớn đối với một bàn MySQL?Biểu diễn bên trong của bảng MySQL có giới hạn kích thước hàng tối đa là 65.535 byte, ngay cả khi công cụ lưu trữ có khả năng hỗ trợ các hàng lớn hơn.65,535 bytes, even if the storage engine is capable of supporting larger rows.
Có giới hạn cơ sở dữ liệu MySQL không?MySQL không có giới hạn về số lượng cơ sở dữ liệu.Hệ thống tệp cơ bản có thể có giới hạn về số lượng thư mục.MySQL không có giới hạn về số lượng bảng.. The underlying file system may have a limit on the number of directories. MySQL has no limit on the number of tables.
MySQL có thể xử lý 1 triệu hồ sơ không?MySQL có thể xử lý 100 triệu hồ sơ không?Vâng, nó có thể xử lý hàng tỷ hồ sơ.Nếu bạn lập chỉ mục đúng các bảng, chúng phù hợp với bộ nhớ và các truy vấn của bạn được viết đúng thì nó không phải là một vấn đề.Yeah, it can handle billions of records. If you properly index tables, they fit in memory and your queries are written properly then it shouldn't be an issue.
Làm thế nào lớn là một cơ sở dữ liệu MySQL lớn?Ngoài ra, giới hạn kích thước thực tế trên cơ sở dữ liệu MySQL với lưu trữ được chia sẻ là: cơ sở dữ liệu không nên chứa hơn 1.000 bảng;Mỗi bảng riêng lẻ không được vượt quá 1 GB kích thước hoặc 20 triệu hàng;Tổng kích thước của tất cả các bảng trong cơ sở dữ liệu không được vượt quá 2 GB.Each individual table should not exceed 1 GB in size or 20 million rows; The total size of all the tables in a database should not exceed 2 GB. |