Chúng tôi có bảng hiện có cột TEXT và độ dài cột trung bình khoảng 2.000 ký tự. Chúng tôi muốn biết hiệu suất của các truy vấn chọn cột đó sẽ là gì nếu trung bình là 5k, 10k, 20k, v.v.Thời gian truy vấn MySQL tăng theo cấp số nhân khi dữ liệu trong cột TEXT tăng tuyến tính
Chúng tôi thiết lập một thử nghiệm riêng biệt và nhận thấy rằng độ dài của cột TEXT tăng tuyến tính, thời gian truy vấn tăng lên theo cấp số nhân.
Bất kỳ ai cũng có bất kỳ suy nghĩ nhanh về lý do tại sao điều này có thể xảy ra. Có thể cung cấp thêm thông tin nhưng khá thẳng về phía trước.
Bạn đã sử dụng chỉ mục văn bản đầy đủ kết hợp với 'đối sánh với'. Đây là cách được đề xuất cho các cột văn bản tìm kiếm. – Johan
Chúng tôi không tìm kiếm trong cột TEXT, chỉ cần chọn nó.CHỌN * TỪ t TẠI ĐÂY t.id <50; vv –
SELECT * là hình thức rất xấu, chỉ chọn các trường mà bạn thực sự cần. Bởi vì bạn (có khả năng) gửi rất nhiều dữ liệu không cần thiết qua dây. Ngoài ra nếu bạn đang sử dụng InnoDB bạn đang giết chết cơ hội sử dụng các chỉ mục bao gồm, cũng lưu ý câu trả lời của @ Mchl. – Johan