代码之家  ›  专栏  ›  技术社区  ›  Oscar Gomez

MySQLSQL如何根据区域设置对表进行排序?

  •  2
  • Oscar Gomez  · 技术社区  · 14 年前

    我的应用程序正在使用一个搜索函数,有时搜索可能会返回一个包含数千个项目的结果集,因此我使用的是延迟加载,只检索主键。

    问题是我的应用程序已本地化,我需要使用表中另一列的名称(稍后在代码中本地化)按字母顺序对主键进行排序(使用典型的key-value-pairs.properties文件),这种排序取决于区域设置。

    我知道一种解决方案是使用另一个表,它基本上完全包含用于本地化的.properties文件的内容。但这似乎是一个极端的解决方案,我还有其他方法可以做到这一点吗?.提前谢谢。

    1 回复  |  直到 14 年前
        1
  •  1
  •   Piskvor left the building Rohit Kumar    14 年前

    不,不是真的。

    您基本上是说“从数据库中检索主键,使用.properties文件模拟另一个数据库,在应用程序中排序”,对吗?在步骤1之后,数据库并没有真正进入方程。

    您提出的解决方案(将.properties文件导入到表中,在表中进行排序)从您提供的数据中听起来非常合理。这些.properties文件多久更改一次?你能自动化这个过程吗?(例如,重新导入更改的文件)

    此外,数据库擅长对大量数据进行排序和过滤;在90%的情况下,在不同的层中这样做会降低效率——从长远来看,在数据库外部重新构建数据库轮相当痛苦。