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

MySQL - mất bao lâu để tạo một chỉ mục?

Có một số yếu tố cần xem xét:

  • Sắp xếp là một phép toán N.log (N).
  • Sắp xếp cho 14 triệu hàng có thể vừa với bộ nhớ chính; loại có 500 triệu hàng có lẽ không, vì vậy loại này tràn ra đĩa, điều này làm chậm mọi thứ đi rất nhiều.

Vì hệ số có kích thước khoảng 30, nên thời gian sắp xếp danh nghĩa cho tập dữ liệu lớn sẽ dài gấp 50 lần - dưới hai giờ. Tuy nhiên, bạn cần 8 byte cho mỗi giá trị dữ liệu và khoảng 8 byte khác cho chi phí (đó là một phỏng đoán - hãy điều chỉnh mySQL nếu bạn biết thêm về những gì nó lưu trữ trong một chỉ mục). Vì vậy, bộ nhớ chính 14M × 16 ≈ 220 MB. Nhưng bộ nhớ chính 500M × 16 ≈ 8 GB. Trừ khi máy của bạn còn nhiều bộ nhớ để dự phòng (và MySQL được định cấu hình để sử dụng nó), thì phần lớn sẽ tràn ra đĩa và chiếm phần lớn thời gian còn lại.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. BIGINT Lỗi ngoài phạm vi kể từ MySQL 5.5

  2. Hợp nhất 2 mảng và tính tổng các giá trị (Phím số)

  3. THAM GIA TRÁI trong ZF2 bằng TableGateway

  4. dịch vụ mysqld dừng mỗi ngày một lần trên máy chủ ec2

  5. Chọn tất cả các mục trong một bảng và kết hợp với một bảng khác, cho phép rỗng