0

SQL 検索を高速化するためだけに、テーブルの最初の 100.000 レコードのように無効にするか非表示にしたいのですが、そこにあることが重要なので削除したくありません。別のテーブルに移動できることもわかっています。しかし、それをより簡単に、より整理するための簡単な方法が欲しいです。

私が言っているのは、たとえばDISABLE FROM table WHERE id <= 100000次のようなコマンドを使用すると、次のようなコマンドを使用する場合です。次に "SELECT * FROM table LIMIT 1" を検索すると、100000 行すべてを歩く必要なく 100001 行が返されます。無効になっています。

これはMySQLでまったく可能ですか?

ありがとう!

4

3 に答える 3

2

ビット列を追加し、「無効」のときにビットを0に設定し、それをWHERE句に追加します

于 2013-04-26T12:54:42.623 に答える
1

SELECT * FROM Table WHERE id > 10000 LIMIT 1 を実行すると、id がインデックス化されている限り、最初の 10000 行でパフォーマンスの問題が発生することはありません。

于 2013-04-26T12:54:56.417 に答える
0

SQL を高速化したい場合は、最初にインデックスを調べたほうがよいでしょう。

于 2013-04-26T13:09:36.620 に答える