私のテーブルには「日付」と「説明」という2つの列がありますが、「説明」の単語と日付の順番が減少する行の結果が必要です。私はfullindexを追加し、SQLの下に実行し、最初の「alter table order by date decreasing
」を実行します。mysql 5.6のinnodbテーブルのFTSの注文タイプを改訂
SELECT date FROM articles WHERE MATCH (description) AGAINST ('+"big" +"light"' IN BOOLEAN MODE);
テーブルがMyISAMのであれば、結果は「日付」によるため減少しているが、テーブルがInnoDBのであれば、結果は自動的にの関連性が低い順に並べ替えます。
私はInnoDBテーブルを使用し、結果の順序を関連性を減らす代わりに自動的に "日付"で減少させたいのですが、どうすればいいですか?
プラス:SQLに「order by date desc」というコードを追加することはできますが、テーブルの値が多すぎるために時間がかかります。
ありがとうございます。
トミー
「alter table order by」は、MyISAMの「機能」です。 InnoDBでは動作しません。同様のことを得る唯一の方法は、主キーで 'date'を使うことです。私はそれを示唆するものではありません。あるいは、他の人がそれをやるようにして、あなたのクエリに 'order by 'を追加します。速度を比較する際には、テーブルへの変更(例えば挿入)が行われるたびにオーダーが破棄される可能性があるので、オーダーが有効であることを確認するためにクエリを実行するたびに 'alter table'を実行する必要があります。したがって、実行時間を比較するときには、 'alter table order by 'を含める必要があります。 – Solarflare