MySQL存储引擎的困境

2024-01-27

我想在我的应用程序中使用两个 MySQL 数据库功能。第一个是全文搜索和交易。

现在,这里的困境是我无法在一个存储引擎中获得此功能。我要么使用 MyIsam(具有全文搜索功能),要么使用 InnoDB(支持 TRANSACTION 功能)。我不能两者兼得。

我的问题是,在我被迫在两个存储引擎之间做出选择之前,我是否可以在我的应用程序中同时拥有这两种功能。


可能的解决方法:

  1. 使用 Sphinx 或 Solr 或其他一些外部文本搜索引擎进行文本搜索并使用 InnoDB 引擎。

  2. 编写您自己的搜索代码 - 并使用 InnoDB。这并不是一个真正的选择,除非您的搜索需求有限或您的预算巨大。

  3. 使用 MyISAM 和 InnoDB 这两个引擎。将要进行全文搜索的列保留在 MyISAM 中,其余列保留在 InnoDB 中。这将是有风险的,因为 MyISAM 中的数据不会是事务安全的。

  4. 使用 MyISAM 和 InnoDB 这两个引擎。将所有数据保留在 InnoDB 中,并将要进行全文搜索的列复制到 MyISAM 中。这将需要一些机制(触发器)来进行数据复制。

  5. 等待 InnoDB 或其他事务引擎支持全文搜索的 MySQL 版本。

  6. (选项 4)但使用具有“崩溃安全”(但仍然不是事务安全)全文索引的 MariaDB(MySQL 分支):事务性全文索引何时准备就绪? http://kb.askmonty.org/en/when-will-transactional-fulltext-indexes-be-ready

  7. 使用事务引擎中具有全文支持的其他 RDBMS,例如 PostgreSQL。

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

MySQL存储引擎的困境 的相关文章

  • Yii 使用 ajax 进行分页

    我需要使用ajax启用分页 我的代码 控制器 更新内容ajax function actionIndex dataProvider new CActiveDataProvider News array pagination gt array
  • Mysql用in语句限制

    我正在写一个查询 SELECT user bookmarks id as user bookmark id bookmark id user bookmarks user id bookmark url bookmark website b
  • 如何通过Elasticsearch模糊匹配电子邮件或电话?

    我想通过 Elasticsearch 对电子邮件或电话进行模糊匹配 例如 匹配所有以以下结尾的电子邮件 gmail com or 匹配所有电话开头136 我知道我可以使用通配符 query wildcard email gmail com
  • PHP严格标准:声明应该兼容

    我有以下类层次结构 class O Base class O extends O Base abstract class A Abstract public function save O Base obj class A extends
  • 如何使用 php 下载/打印页面的特定部分

    我有一个 HTML 页面如下 Lorem Ipsum is simply dummy text of the printing and typesetting industry Lorem Ipsum has been the indust
  • 是否可以使用 PHP 重定向发送 POST 数据?

    更新 这不是重复的如何使用 PHP 发送 POST 请求 https stackoverflow com questions 5647461 how do i send a post request with php 那里的解决方案对我不起
  • 使用 preg_replace 仅替换第一个匹配项

    我有一个结构类似于以下的字符串 aba aaa cba sbd dga gad aaa cbz 该字符串每次都可能有点不同 因为它来自外部源 我只想替换第一次出现的 aaa 但其他人则不然 是否可以 可选的第四个参数预替换 http php
  • 如何在原则 2 迁移中删除外键

    我想在原则 2 迁移中删除外键 但没有 dropForeignKeyConstraint 有谁知道怎么丢掉吗 public function down Schema schema table schema gt getTable table
  • 使用 SSL 证书验证 Web 浏览器

    是否可以使用 ssl 证书对 Web 浏览器进行身份验证 假设我在应用程序中存储私钥 有什么方法可以从浏览器读取密钥并尝试基于该私钥进行身份验证 您可以使用 SSL TLS 客户端证书身份验证来对浏览器 用户进行身份验证 服务器必须请求客户
  • MySQL 追加字符串

    How can I append a string to the end of an existing table value Let s say I have the table below And let s say that Mari
  • 在 PHP 中使用 phpseclib 时出现 RSA 问题

    我正在尝试在 phpseclib 中使用 RSA 实现 我认为在函数中执行一次代码并重新使用该函数会更容易 当我尝试向代码发送短信时 我收到一条错误消息 提示 解密错误 测试还让我意识到每次代码运行时密文都是不同的 所以我显然在那里做错了什
  • PHP 与 MySQL 查询性能( if 、 函数 )

    我只看到这个artice http www onextrapixel com 2010 06 23 mysql has functions part 5 php vs mysql performance 我需要知道在这种情况下什么是最好的表
  • 在 android 中建立与 MySQL 的池连接

    我需要从我的 Android 应用程序访问 MySQL 数据库 现在所有的工作都通过 DriverManager getConnection url 等等 但我必须从多个线程访问数据库 所以我必须使用连接池 问题1 是 com mysql
  • PHP preg_filter 返回意外的长值

    尝试在 Woocommerce 中删除标签并过滤值 但无法以正确的格式获取它 有东西有腥味 我正在使用WC gt cart gt get cart subtotal 来检索该值 在此示例中 我的值是 2 429kr 原始返回值是 span
  • 通过触发器应用表的列权限

    现在 我有一个名为 Members 的表 其中包含内容 分为联系人数据 银行数据 现在 管理员应该能够创建 更新 删除用户 这些用户保存在另一个表中 该表只能访问管理员 用户应该获得自己的 mysql 用户帐户 管理员还应该能够设置权限 例
  • 通过 $_SESSION 从一个脚本发送到另一个脚本期间数据丢失

    我正在尝试将一个充满属性的对象从一个 PHP 发送到另一个 PHP SESSION object obj where obj是一个用 foreach 循环指定的对象 foreach array of objects as obj SESSI
  • Woocommerce 结账自定义选择字段

    我有以下功能 将选择列表添加到 woo commerce 结账表单中 woocommerce form field airport pickup array type gt select class gt array airport pic
  • 使用 Ajax.Request 将 JSON 从浏览器传递到 PHP 的最佳方法

    您好 我有一个 JSON 对象 它是一个二维数组 我需要使用 Ajax Request 将其传递给 PHP 我知道的唯一方法 现在我使用js函数手动序列化我的数组 并获取以下格式的数据 s 1 d 3 4等 我的问题是 有没有办法更直接 有
  • 如果循环中内存超出,我可以在 for 循环中抛出异常吗?

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何处理 foreach 循环中发生
  • Doctrine EntityManager 清除嵌套实体中的方法

    我想用学说批量插入处理 http doctrine orm readthedocs org en latest reference batch processing html为了优化大量实体的插入 问题出在 Clear 方法上 它表示此方法

随机推荐

  • exit 在这个 ruby​​ if fork 块中做什么

    一些代码如下 def start if fork do something exit 0 end end fork 复制一个子进程 我说得对吗 但我的问题是哪个进程做了exit 0真的退出吗 父进程还是子进程 fork http ruby
  • 使用 Javascript 的递归方法[重复]

    这个问题在这里已经有答案了 我正在尝试复制 json stringify 方法 但使用递归 我已经能够通过很多测试用例 但是当涉及到嵌套数组时 我似乎遇到了问题 如果数组内有任何空数组 我会得到类似 7 9 而不是 7 9 的内容 另外 如
  • 在 C 中创建字符串堆栈

    我想要一个接受字符串的堆栈 我希望能够推入和弹出字符串 以及清除整个堆栈 我认为 C 有一些方法可以做到这一点 那么C呢 未经测试的快速示例 采用单链表结构 元素被推入列表头部或从列表头部弹出 include
  • 将工作表传递给函数(excel vba)

    我一直在尝试将工作簿中的一张工作表传递给函数 但它似乎不起作用 函数是 Private Sub passToSheet theData As Variant Optional mySheet As Worksheet 我试过做 Dim my
  • 从 azure 部署的机器人向 MS 团队发送主动消息

    我已经将机器人部署到 azure 当连接到 azure 中的 MS 团队频道时 我能够 ping 机器人并接收消息 这很好 我还在机器人中添加了主动消息传递 其中通道中每隔一分钟就会触发一条消息 它在模拟器中工作 但在网络聊天和 MS 团队
  • 相当于 R 中的“this”或“self”

    我正在寻找 R 中 python 的 self 关键字或 java 的 this 关键字的等效项 在下面的示例中 我从另一个 S4 对象的方法创建一个 S4 对象 并且需要将一个指针传递给我自己 该语言中有什么东西可以帮助我做到这一点吗 M
  • 在django中扩展User模型后,如何创建ModelForm?

    我扩展了 django 中的用户模型以包含其他几个变量 例如位置和雇主 现在我正在尝试创建一个具有以下字段的表单 First name from User Last name from User Location from UserProf
  • WebAuthN 是否可以查看可用的平台验证器?

    我的任务是为 webauthn 创建自定义注册屏幕 我们想要向用户展示faceid将用于验证他们的身份 或者他们的指纹将被使用 拥有设备表并从中派生的解决方案似乎是一场可持续发展的噩梦 我更愿意从 navigator credentials
  • 使用 OIDC 在每个 API 请求中发送哪些信息

    I m writing an API back end that I want to use OpenID Connect OIDC to secure I ve been reading the documentation but I m
  • 使用 Angular 在 Firebase 中保存结构化数据

    我了解储蓄的概念和最佳实践结构化数据 https www firebase com docs web guide structuring data html在 firebase 中 但我不清楚如何将数据实际保存到多个位置并提供所需的交叉引用
  • 使用 R 映射博客之间的链接网络?

    我想了解有关如何创建和可视化博客之间的链接图以反映它们之间的 社交网络 的建议 这是我的想法 从一个 或多个 博客主页开始 收集该页面上的所有链接 删除所有属于内部链接的链接 也就是说 如果我从 www website com 开始 那么我
  • UIViewController 内的 PullToRefresh TableView

    我有一个UI视图控制器这也是UITableViewDelegate 除其他外 对于UI表格视图 在 FirstView xib 中创建 interface FirstViewController UIViewController lt UI
  • 对象数组的深拷贝

    我想使用构造函数制作对象数组的深层副本 public class PositionList private Position data new Position 0 public PositionList PositionList othe
  • 选择价格未变化的行

    假设您有一个类似的表 我使用 SQL Server 2008 没有审核日志 表很大 SecID Date Price 1 1 1 11 10 1 1 2 11 10 1 1 3 11 5 1 1 4 11 10 1 1 5 11 10 假设
  • Xcode,误删除.pch文件,可以恢复吗?

    据我了解 pch 文件负责预编译头文件 听起来像是可以重建或重新创建的东西 2个问题 Xcode 是否有类似于回收站的东西 可以撤消文件删除 有没有直接的方法来重建 pch 文件 对于 CocoaTouch iPhone 来说是 Prefi
  • IE8 CSS 浮动问题

    我确信这之前一定已经涵盖过 因为我确信我不是第一个这样做的人 但我找不到答案 我正在为一个创建阴影效果 div 使用重复的背景图像 在底部的两个角 我使用 9x5 像素的小图像 我将它们左右浮动 在 Firefox 和 Safari 中它们
  • 在工具栏右侧添加自定义视图

    我正在努力实现这一目标 计时器toolbar红色背景 I am trying to add customView in toolbar It always end s up being on extreme left just beside
  • Android重复资源错误

    我的项目编译得很好 直到我删除了一些 png 可绘制对象 并通过导航到将它们替换为矢量可绘制对象新增 gt 矢量资源 我现在得到了重复资源错误 这是我的 res 文件夹 以下是 Gradle 控制台中的错误消息 Execution fail
  • Environment.MachineName 被裁剪为 15 个字符 [重复]

    这个问题在这里已经有答案了 NET System Environment MachineName 中有一个属性 它读取由于与 Windows 98 兼容而被裁剪为 15 个字符的计算机名称 我如何获得完整 未裁剪 的姓名 我建议使用inte
  • MySQL存储引擎的困境

    我想在我的应用程序中使用两个 MySQL 数据库功能 第一个是全文搜索和交易 现在 这里的困境是我无法在一个存储引擎中获得此功能 我要么使用 MyIsam 具有全文搜索功能 要么使用 InnoDB 支持 TRANSACTION 功能 我不能