如何对 MySql 数据库进行排序?
Posted
技术标签:
【中文标题】如何对 MySql 数据库进行排序?【英文标题】:How to sort the MySql Database? 【发布时间】:2009-09-13 13:51:31 【问题描述】:我在 mysql 数据库“orkut”中存储了各种记录。现在我想通过一个java程序对该数据库进行排序。我已通过 jdbc 驱动程序连接到数据库。 现在我想按“int”类型的字段“number”的降序对该数据库进行排序,但不知道命令。我有“con”引用变量,它表示与 MySql 数据库的连接。
还有一件事,有一个字段“sr_no”表示序列号。记录,它不是主键。
我希望在将数据库排序为序列号后该字段不会更改。更改记录顺序时不应更改。
我希望这种排序永久存储在同一个数据库中。我不想要排序的结果集。 我想要排序的数据库。
【问题讨论】:
顺便说一句,您所谓的“数据库”实际上是被称为表。数据库是一组表。您以前使用过 DBase III DBF 吗? :) 【参考方案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以上是关于如何对 MySql 数据库进行排序?的主要内容,如果未能解决你的问题,请参考以下文章