H2数据库排序规则:选择什么?

2024-05-07

经过大量阅读和实验后,似乎我想要主要的搜索强度,但第三或相同的排序强度。主要问题:用 H2(或任何其他数据库)可以实现吗?

第二个问题:我是这里唯一的人吗?或者你们中有人也喜欢上述组合吗?一些确认会对我的理智有所帮助。

背景: 看来排序规则只能在创建数据库的一开始就设置。所以我想确保选择正确的一个。我主要考虑这些用例(目前):

  1. 用户可以开始输入内容来过滤表格的搜索字段:这里 PRIMARY 似乎是最合适的,以避免丢失任何结果(用户习惯于 Google...)。尽管如此,如果能够为用户提供启用二级或三级排序规则以进行更精确搜索的选项,那就太好了。

  2. 排序:当用户单击表列来对内容进行排序时,TERTIARY/IDENTICAL 排序似乎比较合适。这就是我从日常经验中习惯的。

我在这里阅读了官方 H2 文档:http://www.h2database.com/html/commands.html#set_collat​​ion http://www.h2database.com/html/commands.html#set_collation。 和这里:http://www.h2database.com/html/datatypes.html#varchar_ignorecase_type http://www.h2database.com/html/datatypes.html#varchar_ignorecase_type更多相关信息:校对强度和本地语言关系 https://stackoverflow.com/questions/3739989/collation-strength-and-local-language-relation

测试sql(来自https://groups.google.com/forum/?fromgroups=#!topic/h2-database/lBksrrcuGdY https://groups.google.com/forum/?fromgroups=#!topic/h2-database/lBksrrcuGdY):

drop all objects;
set collation english STRENGTH PRIMARY;
create table test(name varchar);
insert into test values ('À'), ('Ä'), ('Â'), ('A'), ('à'), ('ä'), ('â'), ('a'), ('àa'), ('äa'), ('âa'), ('aa'), ('B'), ('b');
select * from test where name like 'a' order by name;
select * from test order by name;

如果您想对单个数据有两种行为,您必须:

  • 将数据拆分为两列,
  • 或使用两个运算符集。

出于您的目的,通常存储原始数据的“规范”表示,以便以规范形式进行搜索,然后排序/显示原始数据。也许你应该使用一些“文本搜索引擎”,例如阿帕奇卢塞恩 http://lucene.apache.org/core/.

对于纯 H2 溶液,您可以使用H2 alias http://www.h2database.com/html/grammar.html#create_alias with 计算列 http://www.h2database.com/html/features.html#computed_columns或带有查询条件。第一个解决方案允许建立索引来加快查询速度。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

H2数据库排序规则:选择什么? 的相关文章

  • 如何在从左到右、从上到下排序的二维数组中搜索数字?

    我最近收到了这个面试问题 我很好奇有什么好的解决方案 假设我有一个二维数组 其中所有 数组中的数字在增加 从左到右 从上到下的顺序 底部 搜索和搜索的最佳方式是什么 判断目标号码是否在 大批 现在 我的第一个倾向是使用二分搜索 因为我的数据
  • 如何使用KDTrees实现最近邻搜索?

    所以 我正在实施一个KD Tree http en wikipedia org wiki Kd tree进行最近邻搜索 我已经构建了树部分 但我认为我没有完全理解搜索部分 关于遍历树来搜索邻居 维基百科文章如下 Starting with
  • OVER ORDER BY 中的多个列

    有没有办法在 OVER ORDER BY 子句中指定多个列 SELECT ROW NUMBER OVER ORDER BY A Col1 AS ID FROM MyTable A 上面的方法工作正常 但尝试添加第二列不起作用 SELECT
  • H2控制台看不到JAVA创建的表

    我已经从以下位置下载了 H2 控制台http www h2database com html download html http www h2database com html download html我已经在我的中配置了 URLjdb
  • Laravel MySQL 按计数排序

    我正在使用 Laravel 和 MySQL 并且我有一个表post代表用户可以评论的帖子 现在我想按照每个帖子的评论数量按升序 降序对帖子进行排序 我该如何在 Laravel 中执行此操作 我不想添加字段post表来跟踪每个帖子的评论数量
  • JAVA:如何搜索地图?

    我有一个 Map 其键为字符串 其值为集合 包含整数 假设我的钥匙看起来像 苹果 香蕉 橙色 等 用户输入文本 我将其保存为字符串变量 如何在我的地图中搜索相同的密钥 因此 如果用户输入 apple 我如何将该字符串提供给方法并让该方法在我
  • C# 存档中的文件列表

    我正在创建一个 FileFinder 类 您可以在其中进行如下搜索 var fileFinder new FileFinder new string C MyFolder1 C MyFolder2 new string
  • 如何设计 RESTful 搜索/过滤? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我目前正在 PHP 中设计和实现 RESTful API 然而 我并没有成功地实现我最初的设计 GET users list of users
  • Django 使用 order_by 和 .annotate() 并获取相关字段

    我有以下数据 该查询按 topicid 分组 然后在每个组中获取最大日期 帖子频率并计算作为贡献者的作者数量 info model InfoModel objects values topicid annotate max Max date
  • Android SearchView 在启动时隐藏键盘

    我有一个小问题正在尝试解决 当我打开应用程序时 键盘会显示输入搜索视图的查询 不过 我只想在单击搜索视图时显示键盘 我该如何解决 Thanks 这对我有用 用于隐藏焦点的代码 searchView SearchView view findV
  • 利用 Bootstrap 的 typeahead 作为搜索功能

    我的预输入工作得很好 但我对 Javascript 缺乏经验 无法理解如何将输入的结果转换为链接
  • 在 .csv 文件中搜索 C 中的名称匹配项

    我目前有一个 csv 文件 其中包含三个字段 用户 密码 类型 例如 我的文件如下所示 michael sun123 user joseph sierra7 user isaac apple2 sysop 我想从这样的文件中读取并检查用户
  • PHP、in_array 和数组中的快速搜索(到最后)

    我对在数组中进行快速搜索的更好方法有疑问 我正在谈论一个特定的情况 假设我有一个数组 L A B C 当我开始时 当程序运行时 L 可能会增长 但到最后 当我进行搜索时 一个可能的原因是 L A B C D E 事实是 当我搜索时 我想要找
  • 我可以使用 vim “star” 搜索来搜索 PHP 类成员和方法吗?

    vim 星号 星号搜索 help star 是一个很棒的功能 它可以让您找到光标所在单词的下一个出现位置 不幸的是 它将美元前缀视为字符串的一部分 因此如果我在类名中的 SearchTerm 上方按 它会在注释中找到 SearchTerm
  • badoo.com 用户搜索 - 如何做到这一点?

    Badoo com 拥有 56 000 000 个用户个人资料 个人资料可以按性别 年龄 发色 生肖 学历等进行搜索 再加上距家乡的距离 在线状态和注册日期 到目前为止 这似乎是可行的 即使它是对巨大表 56m 成员 的相当多的查询 它也可
  • REST api 可以通过两个 HTTP 方法公开吗?

    问题是我们有一个复杂的搜索 api 查询字符串 并且希望让用户可以方便地使用 body 所以我们希望同时允许 GET 和 POST 或 PUT 我知道 对于搜索是否为只读操作存在争论 并且根据 REST 标准 它应该只能是 GET 据我了解
  • 传递选择器函数时,OrderBy 不会转换为 SQL

    当我执行时 var t db Table1 OrderBy x gt x Name ToList 在 SQL 分析器中 这是翻译后的 SQL SELECT Extent1 ID AS ID Extent1 Name AS Name FROM
  • ArrayList 搜索 .net

    以下是存储在我的数组列表中的数据的格式 A Amsterdam B Brussels C Canada 如此等等 我想通过仅传递前几个字符直到 来搜索我的数组列表 因此 如果我有类似 AA Test 的东西 那么我只想通过 AA 来检查它是
  • 如何实现Tabbar中每个选项卡的搜索动作

    我有一个页面 TabBar 中有 2 个选项卡 如下所示 class SearchByCityOrPerson extends StatefulWidget SearchByCityOrPerson Key key this title s
  • 为什么 MySQL 将 é 与 e 视为相同?

    我使用 Django Web 应用程序将 Unicode 字符串存储在 MySQL 数据库中 我可以很好地存储 Unicode 数据 但是在查询时 我发现 and e被视为好像它们是同一个角色 In 1 User objects filte

随机推荐

  • 在 OS X 10.7.4 上安装 RSRuby 时找不到库

    我正在尝试在我的 Mac 上安装 RSRuby 调用后 sudo gem install rsruby 我收到此错误 ERROR Cannot find the R library aborting extconf rb failed Co
  • 插入标准模式文档中的动态 iframe 默认为怪异模式

    我有一份当前正在返回的父文档CSS1Compat from document compatMode 当我使用 jQuery 添加一个空白 iframe 时 如下所示 body append 并检查新 iframe 的 compatMode
  • 从java程序调用SVN命令

    我想从 java 程序调用 SVN 命令 update commit 有什么帮助吗 SVN 乌龟SVN 环境 java程序将在jBoss服务器内运行 从应用程序服务器内使用 GUI SVN 客户端是一个非常非常糟糕的主意 而Tortoise
  • 服务器端生成的 Excel 中出现 System.Runtime.InteropServices.COMException 错误

    我们有一个 Web 应用程序 可以生成 Excel 电子表格并在服务器端运行宏 然后它通过电子邮件将它们发送给不同的人 它是传统报告风格的一部分 我们正在对其进行转换 但仍然支持我们作为 IIS 中的网站提供的新应用程序 我知道进行 Off
  • 发布后忽略基本标签

    在 Chrome 上我收到错误Refused to execute a JavaScript script Source code of script found within request 在发布包含域名的数据后 另请注意任一页面上都缺
  • Openshift 上的自定义 Node.js 版本

    我在运行自定义节点版本时遇到问题node0 10您可以在开放班次中找到墨盒here https github com DavidReinberger openshift meteor leaderboard customNode 我可以很好
  • 视频回退到 Flash 在 Firefox 中不起作用

    我一直在审查有关开发人员向其 HTML5 网站添加 Flash 后备的不同方式的材料 我有这个带有虚拟视频的测试代码
  • 故事板中的 Xcode 6 UIVisualEffectView

    我正在 Xcode 6 中的对象库中查找 UIVisualEffectView 以在 Storyboard 中添加模糊效果 我知道如何以编程方式执行此操作 但我找不到在故事板中执行此操作的方法 这在当前的测试版中是否不可用 或者有没有一种不
  • Python 字符串到 SQL IN 参数的列表

    我在 python 中有这个查询 ssim group S1200 S1300 query select WIPMessageCnt from waferdata where recipename in s and equipment an
  • Django 全文搜索优化 - Postgres

    我正在尝试利用 Django v2 1 和 Postgres 9 5 创建一个地址自动完成功能的全文搜索 但性能目前不适合自动完成 我不明白逻辑我得到的绩效结果背后 就信息而言 该表相当大 有 1400 万行 我的型号 from djang
  • 将outer()应用于两个列表

    我有一个清单 说exm list elm1 c a b elm2 c b c d elm3 c b c d e 我想对以下两个元素的每个组合应用一个函数exm e g length intersect exm elm1 exm elm2 结
  • Android 开发应用程序密钥和应用程序秘密

    我正在尝试使用带氦气选项的城市飞艇为 Android 应用程序设置推送通知 但是 我需要为我的应用程序找到这些信息 但我不知道从哪里可以找到 任何意见或建议将不胜感激 谢谢你 For setting up Helium make sure
  • Tkinter - 打开一个窗口并关闭另一个窗口

    我想要一个登录屏幕 当登录成功时 屏幕将关闭并创建一个新屏幕 问题是 当我执行以下代码时 两个屏幕同时打开 如果您有任何改进代码的建议 请提出 from Tkinter import import mysql connector impor
  • Entity Framework Core 1.0 连接字符串

    我们正在开发一个非常大的 ASP NET Core MVC 1 0 应用程序 我们的每个应用程序都有 4 层 如下所示 DTO 存储库 实体框架 代码优先 服务 业务逻辑 MVC UI MVC 目前 在我们处理所有数据库操作的存储库中 我们
  • 如何将 igraph 中的边标签与边分开?

    我想移动边缘标签的位置 使其不在其上方 这是一个小例子 g lt graph empty n 3 g lt graph c 1 2 3 2 1 3 directed T E g weight lt c 3 2 5 plot g edge l
  • 将依赖项添加到自定义 gradle 插件

    我正在创建一个使用 gson 的 gradle 插件 但是当我在客户端使用该插件时 它会抛出此错误java lang NoClassDefFoundError com google gson Gson我希望我以错误的方式链接插件中的依赖项
  • 如何在 Windows 中使用 cmake 构建和链接 google benchmark

    我正在尝试构建 google benchmark 并使用 cmake 将其与我的库一起使用 我已经成功构建了 google benchmark 并使用 cmake 成功运行了所有测试 不幸的是 我无法使用 cmake 或 cl 将其与 Wi
  • 判断正则表达式是否只匹配固定长度的字符串

    有没有办法确定正则表达式是否只匹配固定长度的字符串 我的想法是扫描 和 然后 需要一些智能逻辑来查找 m n 其中 m n 没有必要采取 考虑到运营商 小例子 d 4 是固定长度 d 4 5 或 d 是可变长度 我正在使用PCRE Than
  • 找不到 com.mapbox.mapboxsdk:mapbox-android-accounts:0.7.0。全新安装 MapBox

    我建立了一个新的反应本机项目并添加了 Mapboxyarn add react native mapbox gl maps This 请注意 如果您使用默认的 Mapbox Android SDK 包含在此库中 并且使用较新的 Androi
  • H2数据库排序规则:选择什么?

    经过大量阅读和实验后 似乎我想要主要的搜索强度 但第三或相同的排序强度 主要问题 用 H2 或任何其他数据库 可以实现吗 第二个问题 我是这里唯一的人吗 或者你们中有人也喜欢上述组合吗 一些确认会对我的理智有所帮助 背景 看来排序规则只能在