Nếu bạn có 1 triệu tệp để chuyển qua, bạn sẽ (tốt nhất là tôi biết) xem qua từng tệp bằng một biểu thức chính quy.
Đối với tất cả các ý định và mục đích, bạn sẽ làm điều tương tự trên các hàng của bảng nếu bạn truy vấn hàng loạt chúng bằng toán tử LIKE hoặc biểu thức chính quy.
Tuy nhiên, kinh nghiệm của riêng tôi với grep là tôi hiếm khi tìm kiếm thứ gì đó không chứa ít nhất một từ đầy đủ, vì vậy bạn có thể tận dụng cơ sở dữ liệu để giảm bớt tập hợp mà bạn đang tìm kiếm.
MySQL có các tính năng tìm kiếm toàn văn bản gốc, nhưng tôi khuyên bạn nên không sử dụng vì chúng có nghĩa là bạn không sử dụng InnoDB.
Bạn có thể đọc về những điều đó từ Postgres tại đây:
http://www.postgresql.org/docs/current/static/textsearch .html
Sau khi tạo chỉ mục trên cột tsvector, sau đó bạn có thể thực hiện "grep" của mình theo hai bước, một để tìm ngay các hàng có thể đủ điều kiện mơ hồ, tiếp theo là các hàng khác dựa trên tiêu chí thực của bạn:
select * from docs where tsvcol @@ :tsquery and (regexp at will);
Điều đó sẽ nhanh hơn đáng kể so với bất kỳ điều gì mà grep có thể làm.