持久性与非持久性 - 我应该使用哪一个?

2023-11-24

我的网站一直使用持久连接,根据我对它们的理解,没有理由不这样做。当连接可以重用时为什么要关闭它呢?我有一个网站总共访问大约 7 个数据库。这不是一个流量巨大的网站,但也足够大了。您对持久性有何看法,我应该使用它们吗?


使用持久连接:

  • 您无法有效地构建事务处理
  • 同一连接上不可能的用户会话
  • 应用程序不可扩展。随着时间的推移,您可能需要扩展它,并且需要管理/跟踪持久连接
  • 如果脚本无论出于何种原因无法释放表上的锁,则后面的任何脚本都将无限期地阻塞,并且应该重新启动数据库服务器。使用事务,如果脚本执行在事务块完成之前结束等,则事务块也将传递到下一个脚本(使用相同的连接)。

持久连接不会带来非持久连接所能做的任何事情。
那么,为什么要使用它们呢?
唯一可能的原因是性能,当创建到 SQL Server 的链接的开销很高时使用它们。这取决于许多因素,例如:

  • 数据库类型
  • MySQl 服务器是否在同一台机器上,如果不是,距离有多远?可能不在您的本地网络/域之外?
  • MySQL 所在的机器被其他进程过载了多少

人们总是可以用非持久连接来替换持久连接。它可能会改变脚本的性能,但不会改变其行为!

商业 RDMS 可能通过并发打开的连接数进行许可,这里持久连接可能会出现错误服务

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

持久性与非持久性 - 我应该使用哪一个? 的相关文章

  • 在 Laravel 5.2 中按 id 显示图像文件

    我有一个名为 files 的表 它保存与属性表相关的图像的名称 我试图使这些图像显示为以下关系 这是属性表的一部分 这是表文件及其与属性表的关系 我可以在控制器 PropertyController 的 show 方法中传递什么参数 目前我
  • 如何合并不同 MySQL 列中的日期和时间以与完整的 DateTime 进行比较?

    Column d是日期 列t是时间 列v例如 是 INT 假设我需要 2012 年 2 月 1 日 15 00 及之后记录的所有值 如果我写 SELECT FROM mytable WHERE d gt 2012 02 01 AND t g
  • 不同的数据库使用不同的名称引用吗?

    例如 mysql引用表名使用 SELECT FROM table name 注意 其他数据库是否使用不同的字符来引用其表名 这种引号的使用称为分隔标识符 它是 SQL 的重要组成部分 因为否则您将无法使用以下标识符 例如表名和列名 包含空格
  • 检查 MySQL 和 PHP 中是否都存在 ids 列表

    最有效的方法是什么MySQL and PHP检查 id 列表是否全部存在 我希望函数返回结果是true if allid 存在 否则false 我刚在想 ids array 2233 5545 9478 5343 3545 do all g
  • 在php中循环多维数组并执行mysql插入(股票数据)

    我有一个多维数组 我希望循环遍历它并为数组中的值执行 mysql 数据库插入 我需要插入到 sql 查询中的数组值是 candles 0 complete candles 0 volume candles 0 mid h candles 0
  • 如何在MySQL查询结果中显示序号

    我有一些简单的查询 SELECT foo bar FROM table 我想你现在的结果是什么样的 我想要做的是根据查询结果中出现的数据数量来显示一些序列号 就像AUTO INCREMENT 这并不意味着我想出示身份证 我想要的结果是这样的
  • 在MySQL中永久设置auto_increment_offset

    我以 root 身份运行命令 set auto increment offset 2 但从其他连接上看不到效果 为什么不 它是全球性的 From http dev mysql com doc refman 5 1 en replicatio
  • Mysql 中的 MD5 和 Salt

    如何 解密 各种电商存储的密码添加 盐 我不是密码专家 所以 在过去 我使用过类似的东西 SELECT FROM mytable WHERE email email AND passwd MD5 pwd MySql MD5 函数只接受一个参
  • 无法将代码优先迁移应用到 mysql 数据库

    我正在使用 EF 代码优先模型开发 asp net mvc 我正在尝试首先使用 EF 代码将迁移应用到我的项目中 我正在使用 MySql 数据库 目前我使用的是 EF 4 3 1 版本和 6 6 4 0 版本的 mysql Connecto
  • 如何在 Eclipse 中使用 MySql 数据库

    我对编程非常陌生 所以请耐心等待 如果一开始我没有理解的话 请提前道歉 我正在做一个本科编程项目 需要在 Java 程序中创建一些数据库 我正在使用 eclipse galilo 来编写我的程序 我已经下载了一个连接器 J 但还不知道应该如
  • 浏览器关闭后从数据库中删除

    我正在开发一个电子商务应用程序 但问题是 当用户将产品添加到购物车并在订购前关闭浏览器时 购物车会带走所有产品 所有购物车项目都保存在表中 如果用户关闭浏览器而不订购 我只想刷新购物车 您可以使用 Javascript 事件捕获浏览器关闭并
  • MySql 完全联接(联合)和多个日期列的排序

    一个相当复杂的 sql 查询 我可能使它变得更加困难 我有两张桌子 消息 newsid 日期时间 新闻文本 图片 图片ID 日期时间 imgPath 两者没有关系 我只是在新闻 图片创建的日期之前加入 到目前为止的 SQL SELECT F
  • 提交ajax表单并停留在同一页面不起作用

    我想将用户的评论存储在我的数据库中 当用户提交时 我不想将他们重定向到新页面 我有以下代码 但它不起作用 我的 HTML 代码
  • SQL Server到Mysql迁移(使用Mysql Workbench)数据传输错误

    我正在使用 Mysql Work bench 6 3 将数据库从 MS Sql server 2008 迁移到 Mysql 在 批量数据传输 期间出错并出现以下警告 这种情况仅发生在像 varchar char 这样的列类型上 当我尝试使用
  • 为什么在 MAC OSX 上编译简单的 mysql c 应用程序时不断收到未定义的符号?

    我正在使用 MACOS 并尝试编写一个 测试 mysql 应用程序 该应用程序仅测试与本地数据库的连接 include
  • mysql变量赋值:如何强制赋值顺序?

    由于mysql是一种声明性语言 我找不到强制赋值变量顺序的方法 采取这个查询 SET v1 0 SET v2 0 SELECT v1 v2 FROM MyTable table WHERE v1 v2 is not null AND v2
  • Mysql - 如何比较两个 Json 对象?

    将整个 MySql json 列与 json 对象进行比较的语法是什么 以下不起作用 select count criteria from my alerts where criteria industries 1 locations 1
  • 无效的 PDO 查询不会返回错误

    下面的第二条 SQL 语句在 phpMyAdmin 中返回错误 SET num 2000040 INSERT INTO artikel artikel nr lieferant nr bezeichnung 1 bezeichnung 1
  • 在 MySQL 中搜索多个单词

    我使用 HTML 表单来允许用户查找数据库表中的条目
  • PHP 中的嵌套 JSON 输出

    我正在为 iOS 应用程序构建 API 并尝试将 mySQL 数据转换为 JSON 字符串进行处理 所需的输出将需要顶级订单详细信息 例如客户名称和地址 然后是订购的产品子数组 我需要的两个表中有相当多的字段 我希望拥有所有字段 我已经构建

随机推荐

  • “不是 git 存储库”

    我正在尝试使用一个使用 git 作为后备存储的程序 我是 git 的新手 在初始化时 该程序执行以下操作 git bare rev parse refs heads index 结果是 fatal Not a git repository
  • 快速更新约束

    我将约束添加到我的创建的按钮中UIView func CreateButtonWithIndex index Int newButton setTranslatesAutoresizingMaskIntoConstraints false
  • 将 C++ 对象添加到 Objective-C 类

    我正在尝试混合 C 和 Objective C 我已经完成了大部分工作 但希望在 Objective C 和 C 代码之间有一个接口类 因此我想在 ViewController 接口中有一个持久的 C 对象 由于禁止声明没有类型的 myCp
  • 安装magento,数据库连接错误。

    我正在尝试将 magento 安装到我的 web 主机上 在安装过程中我收到 数据库连接错误 我已正确输入所有值 已联系我的 web 主机以确保我此时陷入困境 他们说参考 magento 论坛额外的支持 我找不到修复方法 任何想法 帮助将不
  • 使用 ggplot2 仅将线段添加到一个方面

    作为一个例子 我有这个数据框 称为my data Groups FactorA FactorB FactorC N value sd se ci 1 Control Condition1 Condition1 Condition1 3 92
  • JPA - 在 persist() 之后返回自动生成的 id

    我正在使用 JPA EclipseLink 和 Spring 假设我有一个带有自动生成 ID 的简单实体 Entity public class ABC implements Serializable Id GeneratedValue s
  • 不使用 Qt 运行 .EXE

    Solution 我想运行我创建的应用程序QtSDK在没有的机器上Qt安装 我尝试复制DLL s来自BIN文件夹到我的项目的发布中 但它不起作用 我尝试了以下方法 我全部复制dll s folder d Qt Qt5 0 1 5 0 1 m
  • 我想在单独的 php 文件上运行 wp_query 以进行 ajax 调用

    例如 ul class thumbs li class li ul
  • 图像标题和换行

    在图像下方添加标题的最佳方法是什么 图像及其标题将向右浮动 并且标题上的文本需要换行 200x200px 的图像不应具有宽度为 800px 的标题 我强烈希望有一个解决方案能够让我在不更改 CSS 或标记的情况下更新图像 具有不同的宽度 由
  • 尝试从 ReadStream 读取时接收错误 Domain=kCFErrorDomainCFNetwork Code=2

    我正在尝试同步读取CFReadStream反对创建者CFStreamCreatePairWithSocketToHost 流打开得很好 但是当我尝试调用时CFReadStreamRead在循环中 CFReadStreamRead 返回 1
  • 使用 Chrome 时的 Selenium“selenium.common.exceptions.NoSuchElementException”

    我正在尝试玩QWOP在 Chrome 上使用 Selenium 但我不断收到以下错误 selenium common exceptions NoSuchElementException Message no such element Una
  • Android 扩展中的实验性功能有利于生产发布

    我正在使用 Parcelize使用 Kotlin 语言进行 Android 开发的功能 为了使用它们 我在 build gradle 文件中进行了以下修改 apply plugin kotlin android extensions the
  • 对字符串数组列表进行排序 C#

    我有一个字符串数组列表 其中数组的格式为 动物 品种 名称 Dog Golden Retriever Rex Cat Tabby Boblawblah Fish Clown Nemo Dog Pug Daisy Cat Siemese We
  • 如何将另一个项目 (Dll) 中的 UserControl 添加到我的 WPF 解决方案中?

    所以 一切都在标题中 我只想在我的 WPF 窗口中添加一个 UserControl 它看起来很简单 但 UserControl 位于同一解决方案的另一个项目 Dll 项目 中 我就是无法参考它 所以 我最好的尝试是这样的
  • 使用 By() 计算变化百分比

    我是一个没有经验的 R 用户 一直在努力使用 By 函数 非常感谢您的帮助 任务很简单 我有一个纵向数据集 如何声明一个 需要通过 ID 计算不同的指标 其中一个指标是简单的百分比变化 需要滞后 示例如下 ID Date Temp Chan
  • 如何在放大弹出插件中的弹出窗口中打开弹出窗口

    谁能告诉我如何使用 magnific popup jquery 插件 使用 ajax 在弹出窗口中打开弹出窗口 ajax popup link magnificPopup type ajax a href path to file html
  • System.Collections.Generic.Dictionary = 终极性能?

    我正在编写 Haxe C 目标 并且一直在研究 Haxe 的 std 库的性能差异 以便我们可以通过其跨平台代码提供尽可能最佳的性能 哈希表代码就是一个很好的例子 我有点不愿意使用 NET 的字典 因为它看起来很庞大 由于内存对齐问题 键
  • Hibernate 级联删除对象

    我对cascade delete 的工作原理有点困惑 我在城市映射文件中按以下方式定义了映射
  • 如何从 Android ListView 获取第一个可见视图

    有没有办法从Android中的ListView中获取第一个可见的View 我可以获取支持适配器中第一个视图的数据 但似乎无法获取 ListView 中的第一个视图 我想在滚动操作完成后更改第一个可见视图 我知道我不应该保存对视图的引用 实际
  • 持久性与非持久性 - 我应该使用哪一个?

    我的网站一直使用持久连接 根据我对它们的理解 没有理由不这样做 当连接可以重用时为什么要关闭它呢 我有一个网站总共访问大约 7 个数据库 这不是一个流量巨大的网站 但也足够大了 您对持久性有何看法 我应该使用它们吗 使用持久连接 您无法有效