sql >> データベース >  >> RDS >> Mysql

SQL検索クエリをより強力にする方法は?

    のようなもの
    Select * from TableName where Name Like 'Spa%'
    ORDER BY case when soundex(name) = soundex('Spa') then '1' else soundex(name) end
    

    正常に動作するはずです。

    実際、これはうまくいくでしょう

    Select * from TableName where Name Like 'Spa%'
    ORDER BY DIFFERENCE(name, 'Spa') desc;
    

    FWIWいくつかの簡単なテストを行い、「名前」が非クラスター化インデックスにある場合、SQLはインデックスを使用し、テーブルスキャンを実行しません。また、LIKEはcharindexよりも少ないリソースを使用しているようです(これはあまり望ましくない結果を返します)。 SQL2000でテスト済み。



    1. MySQLデータベースに接続し、Juliaでデータをフェッチします

    2. Django-列のnull値がDjangoAdminのnot-null制約に違反しています

    3. トラブルシューティング:リダイレクトが多すぎます

    4. 多対多の関連付けを持つ複数の条件を持つデータを検索するためのSQL/Doctrineクエリ