サイトの一部をmysqlからmongodbに移動していますが、mongodbを使用する部分は検索です。 mysqlでこのクエリを作成すると、問題が1つあります。MongoDB LIKE vs. Mysql LIKE
SELECT * FROM table WHERE a1 LIKE '%test%' OR a2 LIKE '%test%'
10k以上の結果が得られます。それで大丈夫です。
私はモンゴ
$mongo->find(
array(
'$or' => array(
array('a1' => new MongoRegex('/test/')),
array('a2' => new MongoRegex('/test/'))
)
)
)->count();
でこのクエリを実行する場合は、私が約2kΩ結果、5倍少ないを取得します。どうしたの?
各データベースのデータは同じです。
SQLの 'table'とMongoDBコレクションの合計レコード数は同じですか? – Phil
likeiと同じDBだが、それらは全く同じで、65kレコードの両方がある – Squirll
a1/2にインデックスがある場合、インデックスを効率的に使用しないことに注意してください。 –