MySQL什么时候更新索引

2024-01-07

更新/插入后索引到底什么时候更新?是在更新/插入查询返回之前,是在查询返回之后的某个时间,还是在执行使用索引的查询时。


索引更新有两个方面。

第一部分是在索引中插入/更新/删除条目。一旦记录发生更改,索引就会更新,并且此过程会阻塞查询直到完成。

这允许根据索引列上的条件更快地检索记录,这是索引最容易理解的用途。

第二部分是更新索引的统计数据。这允许优化器确定对于给定的查询是否值得使用索引。想象一下这样的查询SELECT * FROM users WHERE disabled = 0。假设大多数用户实际上都是活跃的。如果索引统计信息是最新的,优化器将意识到表中的大多数记录将由查询返回,几乎整个表都需要扫描。它可能会决定不使用索引并立即扫描表。

此更新不会自动进行除非在非常特殊的情况下 http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html#sysvar_innodb_stats_on_metadata。这些统计数据应定期手动更新ANALYZE TABLE [table_name] http://dev.mysql.com/doc/refman/5.6/en/analyze-table.html

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

MySQL什么时候更新索引 的相关文章

  • 如何在 SQL Server 中连接

    我的数据库没有特定的列 因此我通过开关在查询中创建了一个列 我需要的是将此列与数据库中的另一列连接起来 select certificateDuration DurationType case when certificateDuratio
  • 计算 Richtextbox 中所有单词的最有效方法是什么?

    我正在编写一个文本编辑器 需要提供实时字数统计 现在我正在使用这个扩展方法 public static int WordCount this string s s s TrimEnd if String IsNullOrEmpty s re
  • 在 DataView 的 RowFilter 中选择 DISTINCT

    我试图根据与另一个表的关系缩小 DataView 中的行范围 我使用的 RowFilter 如下 dv new DataView myDS myTable id IN SELECT DISTINCT parentID FROM myOthe
  • 如何通过SQL查询检查是否有JSON函数?

    有SQL 2016 中的 JSON 函数 https learn microsoft com en us sql t sql functions json functions transact sql例如 JSON VALUE JSON Q
  • 我是否需要在外键上指定 ON DELETE NO ACTION?

    我有以下与 SQL Server 2012 一起使用的 DDL CREATE TABLE Subject SubjectId INT IDENTITY 1 1 NOT NULL Name NVARCHAR 50 Not NULL CONST
  • SQL WHERE 取决于星期几

    我需要检查不同日期的记录 具体取决于当前是一周中的哪一天 在周五 我需要它查看整个下周 直到下周日 在其他任何一天 它都应该检查当前周 直到下周日 我目前有以下内容 但由于语法错误而无法工作 是否可以做一个CASE WHEN里面一个WHER
  • Canvas GetImageData() / PutImageData() 在移动设备上的性能很糟糕

    我正在做一个小型 HTML5 游戏 在地图开头加载精灵时 我使用 GetImageData 循环遍历所有图像 PutImageData 进行一些处理 这在我的电脑上运行得非常好 但是在我的手机上却慢得可怕 PC 5 6 ms iPhone
  • MySql如何将varchar(纬度,经度)转换为十进制字段?

    在 mysql 中 我有一个 varchar 其中包含 Google 地图提供的纬度和经度 我需要能够基于边界框值进行查询 但不需要现在可用的地理特征 我正在尝试使用 varchar 中找到的 Decimal 值填充 2 个新的 Decim
  • Pandas apply 与 np.vectorize 从现有列创建新列的性能

    我正在使用 Pandas 数据框 并希望创建一个新列作为现有列的函数 我还没有看到关于之间速度差异的很好的讨论df apply and np vectorize 所以我想我会在这里问 熊猫apply 功能很慢 根据我的测量 在一些实验中如下
  • 使用外键将表拆分为两个表

    我有一张桌子 drupal comments 其中包括以下列 cid primary key uid foreign key to users table optional name varchar optional email varch
  • Oracle 中仅在一列上不同

    我想在下表中使用不同的值 但仅在 PlayerID 列上使用 这就是我现在所拥有的 MATCHID PLAYERID TEAMID MATCHDATE STARTDATE 20 5 2 14 JAN 12 01 JUN 11 20 5 4
  • 如何获取日期时间字段的 UTC?

    我正在使用 MySQL 5 并且正在尝试将日期时间字段转换为 UTC TIMESTAMP 这是我所拥有的 但它不起作用 并且不确定我是否可以做到这一点 但有人可以告诉我我做错了什么吗 谢谢 我已经尝试过这个 SELECT UTC TIMES
  • 如何从表中选择所有偶数 id?

    我想从 MySQL 数据库的表中选择所有甚至帖子 ID 然后显示它们 我还想获取所有带有奇怪 id 的帖子并将它们显示在其他地方 我想使用 PHP 来完成此操作 因为这是我使用的服务器端语言 或者 我是否必须选择所有帖子 然后使用 Java
  • 如何加快 jar 签名者的速度?

    我使用 ant 来签署我的 jars 以进行网络启动部署 Ant signjar 在 Web 启动签名时非常慢 如何加快签名过程 我找到了一种可能的解决方案 早些时候 在构建脚本 ant signjar 中 按顺序调用所有 jar 我们使用
  • 使用 order by 和 limit 从多个表中删除

    我试图从使用 ORDER BY DESC 和 LIMIT 有关系的两个表中删除 DELETE FROM my rel table AS t1 LEFT JOIN my photo table AS t2 ON t2 typeid t1 ty
  • 在查询中创建临时变量

    我希望能够在查询中创建一个临时变量 而不是存储过程或函数 它不需要声明和设置 这样我在调用它时就不需要传递查询参数 正在努力朝这个方向努力 Select field1 tempvariable 2 2 newlycreatedfield t
  • cmd 和 workbench mysql 查询性能差异

    我有两个问题 正如我的标题 哪一个对于对大量数据运行大型查询更有效 我查看了 MySQL 文档 其中解释了工作台的性能https www mysql com products workbench performance https www
  • Web SQL 数据库 + Javascript 循环

    我正在尝试解决这个问题 但我自己似乎无法解决 我正在使用 Web SQL DB 但无法让循环正常使用它 I use for var i 0 i lt numberofArticles 1 i db transaction function
  • “完整性约束违规:1062 重复条目” - 但没有重复行

    我正在将应用程序从本机 mysqli 调用转换为 PDO 尝试将行插入具有外键约束的表时遇到错误 Note 这是一个简化的测试用例 不应复制 粘贴到生产环境中 InfoPHP 5 3 MySQL 5 4 首先 这是表格 CREATE TAB
  • 如何确定在 Postgres 中使用什么类型的索引?

    我有一个 Postgres 数据库 其中有 2 列不是主键 也不能是主键 但进行了大量搜索 并与其他表中的 2 列进行比较 我相信这是向我的表添加索引的完美案例 我以前从未在数据库上使用过索引 所以我正在尝试学习执行此操作的正确方法 我了解

随机推荐

  • 如何使 QLineEdit 在 Windows 中不可编辑

    我正在使用 Qt 5 2 我想做一个QLineEdit不可编辑 问题是 它看起来并不像这样 使用时setReadOnly true 它保持白色背景 看起来仍然可以编辑 如果我禁用它 它就会变成灰色 文本也会变成浅灰色 问题是 在禁用状态下
  • 如何在 Internet Explorer 中触发 script.onerror?

    The MSDN 上的 onerror 页面 http msdn microsoft com en us library cc197053 28VS 85 29 aspx指出 onerror 处理程序可以附加到脚本元素 并且它 在对象加载期
  • ggplot 中的直方图不是从 X 轴上的零开始[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 所以 这是第一次使用 ggplot 制作直方图 我看到的是 对于我的数据 导出的直方图如下所示 我不喜欢的是 第一个 bin 不包含零
  • 在 Pandas 中解析大型 CSV 文件的最快方法

    我正在使用 pandas 来分析大型 CSV 数据文件 它们的大小约为 100 兆 每次从 csv 加载需要几秒钟 然后需要更多时间来转换日期 我尝试加载文件 将日期从字符串转换为日期时间 然后将它们重新保存为 pickle 文件 但加载这
  • python中一个很好的持久同步队列

    我不会立即关心 fifo 或 filo 选项 但将来可能会很好 我正在寻找一种快速简单的方法来在磁盘上存储 最多一千兆数据或数千万个条目 可以由多个进程获取和放置 这些条目只是简单的 40 字节字符串 而不是 python 对象 并不真正需
  • VSCode 任务中的预定义变量替换用户输入

    看着VSCode 变量替换的文档 https code visualstudio com docs editor variables reference 我期待以下内容tasks json使用时在选择列表中执行变量替换chooseDirec
  • 从 NSString 中提取 2 个由特殊字符分隔的字符串

    我有一个像 你好 这是我 这样的 NSString 我想搜索 并将 前后的文本放在两个单独的字符串中 有人知道如何做到最好吗 问候麦克斯 NSArray subStrings myString componentsSeparatedBySt
  • 克服通过数据库链接批量插入的限制

    似乎有一个实施限制 禁止使用forall insert在 Oracle 上 当通过数据库链接使用时 这是一个简单的例子来演示 connect schema password db1 create table tmp ben test a n
  • 使用 Groovy 将 bean 序列化和反序列化为 json

    我读过关于 json 和 groovy 的新闻http www infoq com news 2014 04 groovy 2 3 json http www infoq com news 2014 04 groovy 2 3 json 所
  • 显式获取标签后,git 标签似乎不可用

    If I run git fetch force origin refs tags release 2017 12 22T15 28 47 05 00 它输出 From github com myname myrepo tag releas
  • Grid View 运行时如何更改列号?

    我正在尝试更改 gridView 列号 我打电话setNumColumn and invalidateViews 更新视图 然而 网格的单元格宽度不会动态改变 我设置了stretchMode columnWidth 但没有成功 问题解决了
  • mongoose.connect() 中的 useNewURLParser 和 useCreateIndex 是做什么的?

    我目前是 MongoDB 和 NodeJS 的新手 我想知道选项 useNewURLParser 和 useCreateIndex 的作用 const mongoose require mongoose mongoose connect m
  • 如何关闭 WPF Toolkit 图表中的动画

    有没有办法直接关闭Xaml中的动画 动画真的很慢 因为我的图表有很多点 我已经下载了最新的源代码http wpf codeplex com SourceControl list changesets http wpf codeplex co
  • 如何更新已创建的 Wi-Fi 配置(或“UID XXX 无权更新 [Wi-Fi] 配置错误”)?

    我正在开发一个管理 Wi Fi 连接的应用程序 我的场景如下 假设整个大楼都有一个名为 testing tls 的 Wi Fi 网络 我的应用程序应该能够仅连接到选定的接入点 基于 BSSID 或 MAC ID 我们用TLS 认证验证用户的
  • 用户名、密码、加盐、加密、哈希 - 这一切是如何工作的? [复制]

    这个问题在这里已经有答案了 可能的重复 PHP 密码的安全哈希和盐 https stackoverflow com questions 401656 secure hash and salt for php passwords 我在 sta
  • Inno安装程序文件复制失败

    我正在开发一个安装程序 需要在安装之前创建目录的备份 我实现的方法纯粹是将所有文件从当前目录复制到新目录 然后我可以随意覆盖旧目录中的文件 我的安装程序 但是 我收到一条提示file copy failed 但我就是不明白为什么它不起作用
  • 如何更改 Web UI 中的工作/阶段描述?

    当我在 Apache Spark 上运行作业时 Web UI 会显示与此类似的视图 虽然这对于我作为开发人员查看事物的位置非常有用 但我认为阶段描述中的行号对于我的支持团队来说不太有用 为了使他们的工作更轻松 我希望能够为我工作的每个阶段以
  • C 语言中最快的抖动/半色调库

    我正在开发一个自定义瘦客户端服务器 为其客户端提供渲染的网页 服务器运行在多核 Linux 机器上 Webkit 提供 html 渲染引擎 唯一的问题是客户端显示仅限于 4 位 16 色 灰度调色板 我目前正在使用 LibGraphicsM
  • 在运行时为弹出视图锚点创建按钮

    这可能是不可能的 但我希望有人知道如何做到这一点 我有一个应用程序仅从 iPhone 移植到 Universal 在 iPhone 上 我使用的是选项卡式应用程序 我使用三个选项卡来显示正常数据 我有第四个选项卡 仅在满足某些条件时才显示
  • MySQL什么时候更新索引

    更新 插入后索引到底什么时候更新 是在更新 插入查询返回之前 是在查询返回之后的某个时间 还是在执行使用索引的查询时 索引更新有两个方面 第一部分是在索引中插入 更新 删除条目 一旦记录发生更改 索引就会更新 并且此过程会阻塞查询直到完成