Bạn có thể tạo chỉ mục trên một trường bị giới hạn bởi độ dài tiền tố, nghĩa là chỉ có n ký tự đầu tiên sẽ được xem xét, tuy nhiên bạn không thể làm điều đó với vị trí bắt đầu và kết thúc tùy ý. Đọc thêm về nó trên TẠO CHỈ SỐ của mysql trang tài liệu.
Trong trường hợp này, tôi chỉ tạo một cột khác, sử dụng của mysql's QUAY LẠI để điền vào và tạo một chỉ mục trên đó, theo cách đó bạn sẽ có một trường để tìm kiếm từ ngược lại của từ gốc.
Các cơ sở dữ liệu khác như Postgresql cho phép bạn lập chỉ mục một biểu thức
, điều này sẽ cho phép bạn lập chỉ mục reverse(col_name)
một cách hiệu quả mà không cần tạo thêm cột. Vì vậy, nó có thể, chỉ là không với mysql ngay bây giờ. (vì potgresql phiên bản 9 đã có đảo ngược () gốc, tôi tin là vậy)