dan*_*dan 7 mysql sql postgresql
我正在为这类问题寻找MySQL和PostgreSQL解决方案.
假设我有一些title字段的记录.标题是书籍或电影名称,如"帽子里的猫"和"罗宾汉".但是虽然标题必须以原始形式显示,但它们应该按照图书馆对它们进行排序的方式进行排序,即通过将任何文章(如"The"或"An")移动到标题的末尾.
因此,"帽子里的猫"就好像它是"帽子里的猫"一样.
设计模式或编写查询的最佳方法是什么,以便这些记录按标题排序,就像库对标题排序一样?(我也希望我知道这种按标题排序的技术术语.)另外,我应该注意哪些性能考虑因素以及应该创建哪些索引?
创建一个自定义函数(也许是 sortableTitle?),它将修改以您不需要的单词开头的字符串。使用 完成查询语句order by sortableTitle(title)。这将产生额外的 CPU 成本,但您必须进行基准测试才能知道成本是多少。
您可以创建一个由触发器填充的额外列 (sortTitle)。这将占用一些空间,但随后您的服务器将能够按索引对行进行排序。
除上述情况外,您不能(在不修改数据库服务器代码的情况下)直接按照您想要的顺序创建索引。据我所知,这适用于 MySQL 和 PostgreSQL。
| 归档时间: |
|
| 查看次数: |
205 次 |
| 最近记录: |