MySQL通过数据库物理插入进行反向查询

时间:2012-09-16 11:05:22

标签: mysql select indexing

此查询:

SELECT * FROM table WHERE field = 'EN'

我想以反向(desc)顺序修改选择,因为它已经物理插入到db,没有任何索引用法(类似于:DESC NO-INDEX)?

有可能吗?

3 个答案:

答案 0 :(得分:1)

除非你有一个反映物理插入顺序的列,否则你不能(使用索引)。

您只能按其中包含的数据订购查询。如果您没有存储某种形式的插入时间戳或ID,则无法生成所需的订单。

答案 1 :(得分:1)

MyISAM存储带有插入顺序的项目,并用新的行填充已删除的行(您可以在select * from ...中看到它而没有顺序)。插入orde默认情况下未保存在DB中(如果要使用Auto Incerment字段存储此顺序,则可以。)

INNODB按PK存储行,因此无论何时插入行,您都可以select ... from ... order by PK desc

答案 2 :(得分:0)

由于数据库中的各种空间重用策略,实际上是不可能的。你可能最接近的是在没有指定任何顺序的情况下读取记录,然后以相反的方向遍历你的resultSet。