5

私はそのようなSQLを書いています

SELECT uid
  FROM search
 WHERE MATCH(product) AGAINST('football basketball')
   AND status=1
 ORDER BY MATCH(product) AGAINST('football basketball') DESC

mysqlで問題なく実行できますが、効率的かどうかはわかりません。この " MATCH(product) AGAINST('football Basketball') " が 2 回実行されるかどうかを知りたいですか?

4

2 に答える 2

0

一致も選択したくない場合は、エイリアスを where 句に入れる必要があります。ただし、エイリアスは一度だけ実行され、結果を「変数」に格納します

SELECT uid
FROM search
WHERE MATCH(product) AGAINST('football basketball') as imatch
AND status = 1
ORDER BY imatch DESC 
于 2014-03-05T18:28:31.417 に答える
0

これは心配なく動作する可能性があります。

SELECT uid, MATCH(product) AGAINST('football basketball') as imatch
  FROM search
 WHERE imatch 
  AND status=1
 ORDER BY imatch DESC
于 2012-10-24T11:09:09.760 に答える