1

このクエリ:

SELECT * FROM table WHERE field = 'EN'

インデックスを使用せずに、物理的にdbに挿入されているため、選択を逆(desc)の順序で変更したいですか(DESC NO-INDEXなど)?

出来ますか?

4

3 に答える 3

1

物理的な挿入順序を反映する列がない限り、(インデックスを使用するかどうかにかかわらず) できません。

含まれるデータによってのみ、クエリを並べ替えることができます。挿入タイムスタンプまたは何らかの形式の ID を保存していない場合は、必要な注文を作成できません。

于 2012-09-16T11:10:16.950 に答える
1

MyISAM はアイテムを挿入順序で保存し、削除された行を新しい行で埋めます (select * from... without order で確認できます)。デフォルトでは DB に保存されない挿入順序 (Auto Incerment フィールドを使用してこの順序を保存する場合は可能です)。

INNODB は PK によって行を格納するためselect ... from ... order by PK desc、行がいつ挿入されたかに関係なく、.

于 2012-09-16T12:02:51.140 に答える
0

DB 内のさまざまなスペース再利用ポリシーにより、実際には不可能です。おそらく最も近いのは、順序を指定せずにレコードを読み取り、resultSet を反対方向にトラバースすることです。

于 2012-09-16T11:10:56.847 に答える