当前位置: 首页 > 面试题库 >

查询匹配的字符串标签

姬振
2023-03-14
问题内容

假设我在SQL中有数百万行,使用PostgreSQL进行查询。每行是否包含字符串~~~&AA=~~~。在所有行中,我需要获取包含CONTAINS的行AA=

那么最好的查询方式是什么?

我尝试了以下操作,但是速度非常慢。

SELECT my_column
FROM table
WHERE my_column 
    LIKE '%AA=%'

我应该使用什么?


问题答案:

您需要找出一种方法来建立索引或使用其他类似搜索引擎的方法。

首先看一下为什么LIKE在postgresl中会变慢,以及如何使我在use-the-index-luke更快。基本上,可以归结为使用特殊索引功能或考虑使用Postgresql全文搜索支持。

从您的问题中也不清楚每隔一行是否确实包含该内容,~~~&AA=~~~那为什么还不行WHERE my_column = '~~~&AA=~~~'呢?如果是这种情况,您可以轻松地为其创建局部索引,~~~&AA=~~~因为Postgresql支持局部索引。



 类似资料:
  • 问题内容: 通常,在使用SELECT查询数据库时,通常希望查找与给定搜索字符串匹配的记录。 例如: 该查询应为我提供所有记录,其中“ Bob Smith”出现在名称字段中的任何位置。 我想做的是相反的。 我想查找名称字段在“ Robert Bob Smith III,PhD。”(查询的字符串参数)中的所有记录,而不是查找在名称字段中具有“ Bob Smith”的所有记录。 问题答案: 只是转一下喜

  • 问题 你想要匹配两个或多个字符串。 解决方案 计算把一个字符串转换成另一个字符串所需的编辑距离或操作数。 levenshtein = (str1, str2) -> l1 = str1.length l2 = str2.length prevDist = [0..l2] nextDist = [0..l2] for i in [1..l1] by 1

  • 问题内容: 我想同时执行完全的单词匹配和部分的单词/子字符串匹配。例如,如果我搜索“男士剃须刀”,那么我应该能够在结果中找到“男士剃须刀”。但是,如果我搜索“剃须刀”,那么在结果中我也应该能够找到“剃须刀”。我使用以下设置和映射: 索引设置: 对应: 插入记录: 查询: 1.按完全匹配的词组进行搜索- >“男式” 上面的查询在返回结果中返回“男士剃须刀”。 2.按部分单词匹配搜索- >“ en’s

  • 我有一个如下所示的ElasticSearch查询: 和像这样的文件作对。 因此,我能够根据文档名称和搜索名称与我的查询的接近程度来检索文档。 要求是,文本搜索框应该检索与查询匹配的最接近的名称,但是,如果给定相对相似的名称,在过去的时间段内投诉数量超过10的文档在搜索结果中的显示应该高于那些少于10的文档。 因此,我需要传递一个时间段的关键字,例如“01/01/2001-31/12/2001”,如

  • 问题内容: 我有一些记录,其中每一行都属于某些类别(数据类型-字符串数组)和唯一类别的单独列表(数据类型-字符串)。我需要将每一行与唯一列表匹配,并为其创建标志。 现在我在本地的excel中有单独的类别唯一列表,如下所示: 最终输出应如下所示: 有人可以帮忙查询,步骤和解释。我是Hive的新手。 问题答案: 使用: 而且,如果您希望使用唯一类别的数组动态构建列,请使用其他一些工具来构建查询。例如,

  • 我有一个字符串数组,我想查找具有字段且值包含在数组中的所有文档。 例如,假设我有数组< code>kidsInTrouble = ["Jerry "," Tom "," Arnold"], 我想搜索我的学生集合,以找到< code>name字段为< code>"Jerry" 、< code>"Tom"或< code>"Arnold"的所有孩子。 (如果可以使用Spring的Mongo驱动程序方法提