Tôi có cơ sở dữ liệu với hơn 75.000 hàng với hơn 500 mục được thêm mỗi ngày.Cách hiệu quả nhất để tìm kiếm trong SQL?
Mỗi hàng có tiêu đề và mô tả.
Tôi đã tạo nguồn cấp dữ liệu RSS cung cấp cho bạn các mục nhập mới nhất cho cụm từ tìm kiếm cụ thể (ví dụ: http://site.com/rss.rss?q=Pizza sẽ xuất ra RSS cho cụm từ tìm kiếm "Pizza").
Tôi đã tự hỏi điều gì sẽ là cách tốt nhất để viết truy vấn SQL cho điều này. Ngay bây giờ tôi có:
SELECT *
FROM 'table'
WHERE (('title' LIKE %searcherm%) OR ('description' LIKE %searcherm%))
LIMIT 20;
Nhưng vấn đề là phải mất từ 2 đến 10 giây để thực hiện truy vấn.
Có cách nào tốt hơn để viết các truy vấn, làm tôi phải cache kết quả (và làm thế nào tôi sẽ làm điều đó?) Hoặc sẽ thay đổi điều gì đó trong tốc độ cấu trúc cơ sở dữ liệu lên các truy vấn (chỉ số?)
có thể nhanh hơn vào chủ đề cá nhân/ngã ba chế biến thành 2 querys đơn giản: 'lựa chọn tuyệt vời trong đó giới hạn tiêu đề 20' thì 'chọn từ bảng có giới hạn mô tả 20' điều gì đó, sau đó thực hiện kết hợp/danh sách với công nghệ phía máy chủ của bạn –
solr, lucene, sphinx? –