テーブルにテキスト データ型のフィールドがあります。
次の 2 つの SQL クエリのパフォーマンスに違いはありますか。
select * from tablename where fieldname="xyz%";
select * from tablename where fieldname="%zyx";
これらのクエリの実行を実装する場合、これが必要になると思います。
2 つの正規表現 (xyz* と *zyx) を一致させる必要があります。
文字列 chars を最初から 1 つずつチェックする必要があります。
最初のクエリでは、一致するかどうかを確認するために最初の 3 文字を読み取る必要がありますが、2 番目のクエリでは、一致が発生したかどうかを判断するために、文字列の末尾を取得するまで読み取る必要があります。しかし、文字列の長さがどこかに格納されている場合、最後の 3 文字を直接読み取ることができ、最初のケースと同様のパフォーマンスが得られます。
私の質問は、mysql や oracle などの商用データベースで、クエリの実行のパフォーマンスに違いがあるかどうかです。