Một số câu trả lời:
-
20 triệu hàng nằm trong khả năng của MySQL. Tôi làm việc trên cơ sở dữ liệu có hơn 500 triệu hàng trong một trong các bảng của nó. Có thể mất hàng giờ để cấu trúc lại một bảng, nhưng các truy vấn thông thường không phải là vấn đề miễn là chúng được hỗ trợ bởi một chỉ mục.
-
Máy tính xách tay của bạn đã khá lỗi thời và không đủ khả năng để sử dụng như một máy chủ cơ sở dữ liệu quy mô cao. Sẽ mất nhiều thời gian để tái cấu trúc bảng. Dung lượng bộ nhớ thấp và ổ đĩa máy tính xách tay thường chậm có thể đang hạn chế bạn. Có thể bạn cũng đang sử dụng cài đặt mặc định cho MySQL, được thiết kế để hoạt động trên các máy tính rất cũ.
-
Tôi không khuyên bạn nên sử dụng
TEXT
loại dữ liệu cho mọi cột. Không có lý do gì bạn cầnTEXT
cho hầu hết các cột đó. -
Không tạo chỉ mục trên mọi cột, đặc biệt nếu bạn nhấn mạnh vào việc sử dụng
TEXT
Loại dữ liệu. Bạn thậm chí không thể lập chỉ mục mộtTEXT
trừ khi bạn xác định chỉ mục tiền tố . Nói chung, hãy chọn các chỉ mục để hỗ trợ các truy vấn cụ thể.
Bạn có thể có nhiều câu hỏi khác dựa trên những điều trên, nhưng có quá nhiều thứ để trình bày trong một bài đăng StackOverflow. Bạn có thể muốn tham gia khóa đào tạo hoặc đọc sách nếu bạn sắp làm việc với cơ sở dữ liệu.
Tôi khuyên bạn nên tham gia MySQL Hiệu suất Cao, Phiên bản thứ 2
.
Đặt lại câu hỏi tiếp theo của bạn:
Để điều chỉnh MySQL, đây là một nơi tốt để bắt đầu: http://www.mysqlperformanceblog.com/2006/09/29/what-to-tune-in-mysql-server- after-installation/
Nhiều hoạt động ALTER TABLE gây ra cấu trúc lại bảng, có nghĩa là về cơ bản khóa bảng, tạo một bản sao của toàn bộ bảng với các thay đổi được áp dụng, sau đó đổi tên bảng mới và bảng cũ và bỏ bảng cũ. Nếu bàn rất lớn, quá trình này có thể mất nhiều thời gian.
Kiểu dữ liệu TEXT có thể lưu trữ lên đến 64KB, đây là mức quá mức cần thiết đối với một số điện thoại hoặc một trạng thái. Tôi sẽ sử dụng CHAR (10) cho một số điện thoại thông thường của Hoa Kỳ. Tôi sẽ sử dụng CHAR (2) cho một tiểu bang của Hoa Kỳ. Nói chung, hãy sử dụng loại dữ liệu nhỏ gọn và tiết kiệm nhất hỗ trợ phạm vi dữ liệu bạn cần trong một cột nhất định.