【问题标题】:How to sort the MySql Database?如何对 MySql 数据库进行排序?
【发布时间】:2009-09-13 13:51:31
【问题描述】:

我在 MySql 数据库“orkut”中存储了各种记录。现在我想通过一个java程序对该数据库进行排序。我已通过 jdbc 驱动程序连接到数据库。 现在我想按“int”类型的字段“number”的降序对该数据库进行排序,但不知道命令。我有“con”引用变量,它表示与 MySql 数据库的连接。

还有一件事,有一个字段“sr_no”表示序列号。记录,它不是主键。

我希望在将数据库排序为序列号后该字段不会更改。更改记录顺序时不应更改。

我希望这种排序永久存储在同一个数据库中。我不想要排序的结果集。 我想要排序的数据库。

【问题讨论】:

  • 顺便说一句,您所谓的“数据库”实际上是被称为表。数据库是一组表。您以前使用过 DBase III DBF 吗? :)

标签: java mysql jdbc


【解决方案1】:

不要试图通过 Java 对它进行排序——你会在尝试时杀死自己。 SQL 有一个order by 子句正是这样做的。这是 SQL:

select
    number,
    sr_no
from
    tbl
order by
    number desc

另请注意,您不能拥有永久排序的数据库。数据的存储方式不适合以您选择的任何顺序存储。您应该永远指望数据库的顺序是相同的,除非您在查询中使用order by

【讨论】:

    【解决方案2】:

    正如 eric 所说,您不能拥有永久排序的数据库。但是如果你想非常频繁地在一个大型数据集上执行这个查询,那么你可以做各种数据库支持的索引。

    它将加快您对特定键的搜索和排序。

    【讨论】:

    • 是的,我需要对一个非常大的数据集执行此操作。它包含数百万条记录。你能解释一下如何使用 MySQL 的索引来做到这一点。我正在使用 MySQL。我对此表示赞同。
    • 只需要为表创建索引并在排序时使用选择编号,sr_no from tbl order by number desc
    猜你喜欢
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 2013-02-11
    • 2011-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-06
    相关资源
    最近更新 更多