SQLite Select 语句的更好性能

2023-12-23

我正在开发一个 Iphone 应用程序,用户可以在搜索栏中输入任何字符串并按下搜索按钮。之后应该会出现一个结果列表。

在我的 SQLite 中,我有四列 a、b、c、d。假设它们具有以下值:

Dataset 1:
a: code1
b: report1
c: description1_1
d: description1_2

Dataset 2:
a: code2
b: report2
c: description2_1
d: description2_2

因此,如果用户输入值:“1_1”,则由于 c 列,将选择第一个数据集。 如果用户输入值:“report”,则将选择第一和第二数据集。

由于我使用的数据库包含近 60,000 个数据集,搜索部分字符串确实会降低性能。

在所有 4 列上设置索引会使 SQLite 数据库的大小变得太大。 所以我根本没有使用索引。

我的选择语句如下所示:

NSString *sql = [NSString stringWithFormat:@"SELECT * FROM scode WHERE a LIKE '%@%@%@' OR c LIKE '%@%@%@' OR d LIKE '%@%@%@'", wildcard, searchBar.text, wildcard, wildcard, searchBar.text, wildcard, wildcard, searchBar.text, wildcard, wildcard, searchBar.text, wildcard];

有没有什么好的方法可以提高在所有列中搜索部分字符串的性能?

谢谢你和亲切的问候,

Daniel


您需要的是全文搜索,而 SQLite 本身并不支持全文搜索。我没有任何第三方支持的经验,但是有几种选择。

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

SQLite Select 语句的更好性能 的相关文章

  • ListDictionary 类是否有通用替代方案?

    我正在查看一些示例代码 其中他们使用了ListDictionary对象来存储少量数据 大约 5 10 个对象左右 但这个数字可能会随着时间的推移而改变 我使用此类的唯一问题是 与我所做的其他所有事情不同 它不是通用的 这意味着 如果我在这里
  • 通过将行旋转为动态数量的列来在 MySQL 中创建摘要视图

    我在 MySQL 中有一个表 其中包含以下字段 id company name year state 同一客户和年份有多行 以下是数据示例 id company name year state 1 companyA 2008 1 2 com
  • T-sql、刻度、时间戳

    是否有可能在 t sql 中获得像 DateTime Ticks 这样的 C 内容 感谢帮助 您不太可能从 SQL 中获得与 DateTime Ticks 相同的精度 因为 SQL 不能以那么高的精度表达时间 SQL Server 只存储大
  • 应用程序发布后,对如何更新 UITableView 上的数据源感到困惑

    阅读文档后 我似乎误解了有关数据管理的一些概念 所以我试图澄清一些方面 如果这篇文章听起来多余和重复 请道歉 我的应用程序有多个 TableView 每个表视图都有一个 pList 形式的数据源 因此 我有几个属性列表用作我的表的数据源 目
  • UIViewController 作为单例

    我在标签栏应用程序中有一个 UIViewController 我已经从 MainWindow nib 文件添加了控制器 即不是以编程方式 我的问题是如何使我的视图控制器成为单例 解决 Facebook 委托问题 您可能想让您的 Facebo
  • 不是 select 中带有 MAX 的单组组函数

    Select sg gameno Max sg Year sg end sg hostcity country olympic name from Summergames s Country co where s country isoco
  • 这是过滤数据并防止 SQL 注入和其他攻击的安全方法吗?

    我创建了两个简单的函数来在插入数据进入 mysql 查询之前对其进行过滤 对于表单字段 我还使用正则表达式来单独检查每个字段 Form filter function filter var HTML is not allowed var s
  • iPhone:在命令行 (Mac OS X) 中压缩 .app 文件会删除 CodeSigning

    我正在尝试使用 TeamCity 对我的 iPhone 应用程序进行简单的构建自动化 但遇到了这个棘手的问题 当我从构建文件夹中手动拾取并安装 app 文件时 效果很好 与 iTunes 顺利同步 我可以在手机上看到该应用程序 但是 当我尝
  • ORA-01749: 您不能向自己授予/撤销权限

    我正在运行以下查询RATOR MONITORING授予引用权限的架构RATOR MONITORING CONFIGURATION SMSC GATEWAY表到RATOR MONITORING schema GRANT REFERENCES
  • 使用 Powershell SQL 将数据提取到 Excel

    我想使用 powershell 将数据从 SQL Server 提取到新的 excel 文件 对于小型数据集 我的代码可以工作 但某些表的行数超过 100 000 行 这将需要很长时间 我不在 SQl 服务器中使用该实用程序的原因是因为我想
  • 将第 3 方库添加到 iPhone 应用程序时如何设置“标题搜索路径”的路径

    我想添加第 3 方库语音转文本 https github com todoroo iPhone Speech To Textto my Xcode项目 我只是拖xcodeproj文件在我的 iPhone 项目中 然后我按照目标依赖项 将二进
  • 将此 MySQL 查询转换为 PyGreSQL

    我正在开发一个 Ruby 应用程序 它使用 mysql 函数 XOR 和 BIT COUNT 不过 我现在需要在运行 PyGreSQL 的 Heroku 上运行该应用程序 我找不到任何可以帮助我的 PyGreSQL 文档 那么任何人都可以翻
  • 如何确定 UINavigationController 中工具栏的高度?

    我有一个带有由 UINavigationController 呈现的工具栏的视图 当我处理 UIKeyboardWillShowNotification 时 我将整个屏幕向上滚动键盘的高度 问题是当显示键盘时 底部工具栏不显示 所以我只需将
  • 循环中的递归算法复杂度(运行时间)

    我想了解您对如何检测以下递归算法的 T n 运行时间 的意见 Charm 是一种用于发现事务数据库中频繁闭项集的算法 频繁闭项集列表是在一组交易 tids 中多次出现的频繁项 例如面包和牛奶是经常一起购买的物品 它们是通过将索引为 i 的当
  • NSSortDescriptor 和多对多关系

    我有两种反对意见 地点和历史项目 我正在尝试获取附加到任何历史记录项目的位置 因此该位置的获取谓词是 history count gt 0 效果很好 我还想使用 NSSortDescriptor 按最新历史项目的日期对位置对象进行排序 据我
  • iPhone 上的锁定方向 UIWebView

    有没有办法锁定 UIWebView 的方向 使用 Obj C JS 还是 Html 我不想有按钮或任何东西 我只想在应用程序打开时将其锁定为纵向 好像这个堆栈溢出帖子 https stackoverflow com questions 43
  • SQLite 条件 ORDER BY 中的 DESC

    我需要选择按以下逻辑排序的记录 但是当 DESC 处于条件中时 SQLite 会引发错误 ORDER BY CASE WHEN parentGUID IS NULL THEN datePosted DESC ELSE datePosted
  • UIWebView 内的滑动手势识别

    我已经阅读了很多关于此的问题 但似乎没有一个能够实现我想要的 所以可以说我有一个任意的UIWebView里面的一个UIViewController The UIViewController has a SwipeGestureRecogni
  • iPhone UIViewController 中的 UIPickerView

    我有一个 xib 其中添加了一个UIViewController名为德尔塔 delta 下的视图由 delta viewcontroller 控制 而不是由文件所有者控制 在三角洲视图中 我有一个UIViewPicker 我的问题是我正在编
  • 从 dask 数据框中的日期时间序列获取年份和星期?

    如果我有一个 Pandas 数据框和一个日期时间类型的列 我可以按如下方式获取年份 df year df date dt year 对于 dask 数据框 这是行不通的 如果我先计算 像这样 df year df date compute

随机推荐

  • Google Play 商店禁用取消发布

    我是一名新开发人员 我正在尝试取消发布处于 开放测试 模式的应用程序 但 取消发布 按钮被禁用 开放测试 模式有问题吗 请帮帮我 你可以试试这个 打开发布概述选项卡 If Managed Publishing turned on turn
  • 根据年份和月份列创建每月第 7 个工作日的新列

    我有一个包含两列的数据框 为了简单起见 我省略了另一个变量的年份和月份 它看起来像这样 YearOfSRC MonthNumberOfSRC 0 2022 3 1 2022 4 2 2022 5 3 2022 6 4 2021 4 2052
  • XCTestCase 可选实例变量

    当我实际上将可选实例变量设置为非零时 为什么它是零 Code class FooTests XCTestCase var foo Int func test A setFoo XCTAssertNil foo foo 1 XCTAssert
  • android KSOAP2 HttpsTransport 警告 End mothd [重复]

    这个问题在这里已经有答案了 可能的重复 KSOAP永不超时 https stackoverflow com questions 5489671 ksoap never timeout 我成功地使用 KSOAP2 使用 Web 服务 但 Ec
  • onActivityResult 方法未被调用

    我的 Android 应用程序遇到问题 我不知道为什么按下操作栏中的 向上导航 按钮时没有调用 onActivityResult 方法 我认为我已经做好了一切 父活动使用 startActivityForResult 方法启动子活动 Int
  • 在新环境中重新定义命令

    两个问题 LaTeX 是否允许在一个程序中 重新 定义命令 newenvironment 我尝试过使用 renewcommand newcommand and def in the before声明但无济于事 一个人将如何重新定义 item
  • 将模糊滤镜应用于 BitmapData

    这是我用来使用 BitmapData 模糊图像的代码 该函数被调用Slider changeHandler event Event void事件和滑块的值作为模糊值传递给函数 问题是该函数有效 但似乎是累积的 如果这是正确的词 也就是说 假
  • NSDateformatter 根据 currentLocale setDateFormat

    我可能会因为一个愚蠢的问题而发疯 我有 3 个字符串 年 月 日 我需要根据 currentLocale 获得正确格式的日期 因此 如果 currentLocale localeIdentifier 是 en US 我的 dateForma
  • Laravel 5中如何通过Intervention Image上传大尺寸图片

    我在用着图像干预 http image intervention io 在我的项目中 我的应用程序在上传小尺寸图像时运行顺利 但是当我尝试上传大尺寸图像 gt 2mb 时 我的应用程序停止工作 即使它没有显示出正确的错误 有时它显示Toke
  • 在 SciPy (Python) 中从拟合 PDF 生成随机样本

    使用 scipy stats 给出数据集的拟合分布 类似于 data fetch data file x np linspace 0 100 1000 param scipy stats norm fit data fit pdf scip
  • sys.getsizeof 的深层版本[重复]

    这个问题在这里已经有答案了 我想计算一个对象使用的内存 sys getsizeof很好 但是很浅 例如 在列表上调用 它不会包括列表元素占用的内存 我想写一个通用的 深度 版本sys getsizeof 我知道 深 的定义存在一些含糊之处
  • setLayoutParams 第二次不起作用

    我编写了以下代码 首先增加 ImageView 的大小 并在 100 毫秒后减小同一 ImageView 的大小 但是 此代码会增加 ImageView 的大小 但不会减小其大小 或者 100 毫秒延迟后的代码不会影响 imageView
  • Winform根目录路径。又如何!

    大家好 首先为问这样一个简单但多余的问题表示歉意 但似乎我的情况有点不同 谷歌搜索未能提供答案 我有一个包含 2 个项目的解决方案 即 proj1 和 proj2 其中 proj1 是 winform 应用程序 proj2 是类库应用程序
  • ConcurrentHashMap put 与 putIfAbsent

    Java Docs http docs oracle com javase 1 5 0 docs api java util concurrent ConcurrentHashMap html putIfAbsent 28K 20V 29说
  • 如何将字典列表输出到 Excel 工作表?

    我有一个名为 玩家 的列表 其中包含字典 它看起来像这样 players dailyWinners 3 dailyFreePlayed 2 user Player1 bank 0 06 dailyWinners 3 dailyFreePla
  • delphi 每 x 秒执行一次操作

    我试图每 x 秒执行一个函数 或过程 我到处寻找 但似乎从未找到适合我需求的东西 我的应用程序基本上从网络获取数据 我想制作一个自动刷新复选框 假设用户选中该框 我希望应用程序每 5 秒调用一次该函数 Thanks Use a TTimer
  • 获取 Kubernetes 中字段引用列表的方法

    在 kubernetes 中 我们可以轻松地通过环境变量公开某些参数和值 这些示例可以是节点 IP 容器 uid 等 Example name POD ID valueFrom fieldRef fieldPath metadata uid
  • Django 1.4 未知命令:“runserver”

    我的 python 路径中的某些内容肯定已更改 因为现在我无法运行 python app manage py runserver 我得到的输出是 Unknown command runserver Type manage py help f
  • F# 管道第一个参数

    是否可以将第一个参数传递到多参数函数中 例如 date 20160301 可以管道吗date into DateTime ParseExact yyyyMMDD CultureInfo InvariantCulture 正如 yuyoyup
  • SQLite Select 语句的更好性能

    我正在开发一个 Iphone 应用程序 用户可以在搜索栏中输入任何字符串并按下搜索按钮 之后应该会出现一个结果列表 在我的 SQLite 中 我有四列 a b c d 假设它们具有以下值 Dataset 1 a code1 b report