在主键上创建索引并建立索引有什么好处吗?

2023-12-28

我检查了这个帖子:

MySQL中主键、唯一键、索引有什么区别? https://stackoverflow.com/questions/3844899/whats-the-difference-between-primary-key-unique-key-and-index-in-mysql

并找到了这样的声明:

另请注意,定义为主键或唯一键的列会在 MySQL 中自动建立索引。

基于此,我有两个问题:

  • 我是否可以安全地假设在主键本身上创建索引没有性能优势,因为主键在设计上就是一个索引?

也许更重要的问题是:

  • 如果您正在执行人们引用的经典示例,基于姓氏和名字执行 SELECT,并且该表也有一个您经常使用的主键 SELECT,那么您会将索引创建为 (primary_key, lastName, firstName) 还是只是 (lastName ,firstName) 因为主键已经是索引了?

对于你的第一个问题,你可以放心地假设。

对于第二个问题:

索引有助于加快搜索速度——就像书中的索引一样。它们可以帮助数据库引擎跳转到正确的记录,就像索引可以帮助您跳转到书中的正确页面一样。

您自己创建的索引的好处取决于您打算如何搜索数据。

在您的示例中,如果您要在应用程序中搜索名称字段,我会在名称字段上创建索引。

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

在主键上创建索引并建立索引有什么好处吗? 的相关文章

  • Postgresql 中的 id 列位置重要吗?

    我正在测试删除主键列 id 的迁移 我想使用外键作为主键 当我运行并恢复迁移时 我看到表的状态是相同的 只是 id 列现在是最后一个 它会以任何方式改变我的数据库的行为吗 我是否应该费心去恢复迁移恢复代码中的列顺序 理论上一切都应该没问题
  • 获取 pandas 数据框中每列的前 k 个元素的索引的快速方法

    我有一个非常大的 pandas 数据框 大约有 500 000 列 每列大约有 500 个元素长 对于每一列 我需要检索该列中前 k 个元素的 索引 列 位置 所以 如果 k 等于 2 这是我的数据框 A B C D w 4 8 10 2
  • PHP 5 的 SQLite 编译设置是什么?

    SQLite 3 7 附带了新的预写日志记录 WAL http www sqlite org wal html并且有很多设置可以被配置 http www sqlite org compile html 但是 似乎没有任何方法可以改变任何事情
  • UUID最大字符长度

    我们使用 UUID 作为 Oracle DB 的主键 并尝试确定 VARCHAR 的适当最大字符长度 显然这是 36 个字符 但我们注意到生成的 UUID 比这个长 长度最多为 60 个字符 有谁知道 UUID 的合适最大字符长度 RFC4
  • 在mysql中搜索“SanF”时获取旧金山的记录

    当我搜索 SanF 时获得 San Francisco 记录 SELECT FROM table WHERE col LIKE san Works SELECT FROM table WHERE col LIKE san F Works S
  • 从数据库生成 XML 时出现 PHP 编码错误 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在尝试获取一个简单的 PHP 服
  • php 崩溃后 mysql 表被锁定

    我有一个 MySQL DB 和一个 innoDB 表 我有一个 php 页面 用于连接 锁定表 进行一些更新 然后解锁表 PHP 页面通过 wamp 与 apache 一起提供 php页面将文件上传到数据库 我决定通过上传一个大小大于分配给
  • 如何使用实体框架设置连接字符串

    我将 EF6 与 MySQL 结合使用 并有一个用于多个数据库的模型 我希望能够在我的表单中设置连接设置 如何以编程方式设置模型的连接字符串 你应该使用EntityConnectionFactory这就是您所需要的 public strin
  • RMySQL fetch - 找不到继承的方法

    使用 RMySQL 我想将数据从数据库加载到 R 中的数据帧中 为此 我使用以下代码 R连接数据库 con lt dbConnect MySQL user root password password dbname prediction h
  • 为什么 Mongohint 可以使查询运行速度提高 10 倍?

    如果我使用explain 从shell运行mongo查询 获取所使用的索引的名称 然后再次运行相同的查询 但使用hint 指定要使用的相同索引 解释计划中的 millis 字段是显着下降 例如 没有提供任何提示 gt gt db event
  • Sql:计算随时间的增长

    我几周前发布了这个问题 但我认为我没有清楚地提出这个问题 因为我得到的答案不是我想要的 我认为最好重新开始 我正在尝试查询数据库以检索一段时间内唯一条目的数量 数据看起来像这样 Day UserID 1 A 1 B 2 B 3 A 4 B
  • 基本表创建 fpdf

    我找不到使用 fpdf 制作表格并从 mysql 数据库获取数据的合适教程 我只是想知道如何创建一个 我在网上尝试示例时遇到了很多错误 例如 我有 名字 中间名 姓氏 年龄 和 电子邮件 列 如何使用 fpdf 创建表格并回显数据库中的条目
  • 如何在我的 iOS 项目中添加和执行 .sql 文件?

    我找到了很多关于在 iOS 中使用 SQLite 数据库的教程 但没有找到任何直接引用 sql 文件的内容 谁能告诉我如何将现有的 SQL 数据库链接到我的应用程序 编辑 这是一个 MySQL 转储 我们有一个基于浏览器的抽认卡程序 现在我
  • PHP/MySQL:如何在网站中创建评论部分[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我不会问 如何使用 PHP MySQ
  • 从 PDO 准备好的语句中获取原始 SQL 查询字符串

    在准备好的语句上调用 PDOStatement execute 时 有没有办法让原始 SQL 字符串执行 出于调试目的 这将非常有用 我假设您的意思是您想要最终的 SQL 查询 并将参数值插入其中 我知道这对于调试很有用 但这不是准备好的语
  • Laravel Group By 和 Order By 不起作用

    我尝试制作一个Laravel 5 8项目 项目中的数据是这样的 id purch name prcvalue 1 10234 Nabila 100 2 10234 Nadeera 450 3 10234 Nabila 540 4 10234
  • 获取列表中倒数第二个元素[重复]

    这个问题在这里已经有答案了 我可以通过以下方式获取列表的倒数第二个元素 gt gt gt lst a b c d e f gt gt gt print lst len lst 2 e 有没有比使用更好的方法print lst len lst
  • 如何使用 PHP 从 MySQL 检索特定值?

    好吧 我已经厌倦了 过去一周我花了大部分空闲时间试图解决这个问题 我知道 SQL 中的查询已更改 但我无法弄清楚 我能找到的所有其他帖子似乎都已经过时了 如果有人能帮助我 我将非常感激 我想做的就是使用手动输入数据库的唯一 密码 来检索行的
  • 如何解决 MySQL innodb 在 TRUNCATE TABLE 上“等待表元数据锁”?

    在 GitLab CI 服务器中运行包含数百个应用程序单元测试的测试套件 运行 10 次测试后 不知怎的 它总是卡在等待 TRUNCATE TABLE 上的表元数据锁上 这是一个拆卸步骤 我知道SHOW ENGINE INNODB STAT
  • 通过将行旋转为动态数量的列来在 MySQL 中创建摘要视图

    我在 MySQL 中有一个表 其中包含以下字段 id company name year state 同一客户和年份有多行 以下是数据示例 id company name year state 1 companyA 2008 1 2 com

随机推荐

  • 如何将动态创建的单选按钮设置到RadioGroup中?

    我有动态创建的单选按钮 LinearLayout linLayRoot LinearLayout dialogView findViewById R id dialog layout root RadioGroup radGp new Ra
  • 强制 Bootstrap 下拉菜单始终显示在底部并允许其离开屏幕

    当视口底部没有空间容纳下拉菜单时 它会显示在下拉按钮的顶部 是否可以改变这种行为并使下拉菜单始终出现在底部 div class dropdown div
  • Groovy Eclipse 插件组织导入

    我一直在使用最新版本的 groovy eclipse 插件 适用于 eclipse 3 4 我注意到当我在文件上运行组织导入时 它实际上删除了我需要的一些导入 它似乎删除了我的项目中的那些 而不是 java 导入 有什么想法吗 谢谢 杰夫
  • Android 倒计时器的小时/分钟选择器

    我正在尝试实现类似倒计时器的东西 在 0 时播放警报 我希望能够设置计时器响起之前等待的时间 我想知道是否有一个 UI 小部件或元素可以提供这种选择功能 基本上 android有类似iPhone选择旋转轮的东西吗 或者是否有某种类型的时间选
  • 如何将 -L 链接器标志传递给 rustc 以进行基于货物的项目?

    如何办理货物通行证 Lrustc 调用的链接器标志 现在可以使用 cargo config See https github com rust lang cargo issues 1109 https github com rust lan
  • CodeIgniter 延迟加载库/模型/等

    在编写 CodeIgniter 应用程序时 我的控制器操作往往以如下几行开头 this gt load gt model abc model this gt load gt library ijk 然后 只是为了完整性 它们的使用如下 th
  • 无法从 Github 容器注册表 (GHCR) 提取公共映像

    我已将映像推送到 Github 容器注册表 GHCR 并将其公开 当我尝试拉它时 出现错误 我已经完成了docker login docker pull ghcr io username reponame master 我收到的错误 Err
  • 调试启动时在 Flash 构建器中清理项目

    使用 Flash builder 4 构建 AIR 应用程序 当我使用调试器启动项目时 我的代码更改始终没有生效 可能大约每小时发生一次 那么有谁知道如何让 FlashBuilder 在每次启动之前自动清理项目 Thanks 我在使用 Fl
  • 线程引用需要静态生命周期吗?

    虽然直观上讲 传递给生成线程的引用需要具有静态生命周期 但我不清楚到底是什么导致以下代码无法编译 use std sync Arc use std sync Mutex struct M fn do something m Arc
  • Pandas MultiIndex(超过 2 级)DataFrame 到嵌套 Dict/JSON

    这个问题类似于this one https stackoverflow com questions 47920624 convert pandas multiindex dataframe to nested dictionary 但我想更
  • 从绑定的 ListBox 中获取所选项目字符串

    我在从列表框中的绑定文本块获取字符串时遇到问题 当我使用下面的代码时 我可以绑定列表框并且列表框显示项目 但是当单击列表中的项目时我不这样做如果没有得到正确的字符串 我会打印一个消息框 其中包含对象名称的消息 例如 我的应用程序项目 相反出
  • 如何在 C# 中获取向量类型?

    我想在我正在编写的 C 应用程序中使用向量 特别是 Vector3 对于我来说 无需编写自己的向量类型 最好的方法是什么 我在 POC 中使用了一个我发现的代码项目 http www codeproject com KB recipes V
  • 如何在 DO 块中执行选择查询?

    我想将以下 SQL 代码从 MS SQL Server 移植到 PostgreSQL DECLARE iStartYear integer DECLARE iStartMonth integer DECLARE iEndYear integ
  • Material-ui 从 React-router 添加 Link 组件

    我正在努力添加我的 Material ui AppBar 的组件 这是我的导航类 class Navigation extends Component constructor props super props render var sty
  • JavaScript 检查图像是否存在

    我正在尝试显示谷歌地图或图像 所以 我想要的是默认情况下我想显示图像 如果图像不存在 则显示谷歌地图 为此 默认情况下我禁用谷歌地图 map canvas display none 然后 我需要类似布尔条件的东西来检查图像的存在 然后返回
  • 如何在 Python 中的泛型类型上使用 isinstance

    我试图检查参数是否是类声明中指定的泛型类型的实例 然而Python似乎不允许这样做 T TypeVar T class MyTypeChecker Generic T def is right type self x Any return
  • 如何通过单击按钮将其打印在一张纸上[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找使用按钮打印页面的解决方案OnClick event 让我举一个例子 带按钮OnClick事件时 代码将随机地将某些图像彼此相邻
  • 在 ListView WPF 中设置项目焦点

    有什么方法可以从 WPF 中的 WinForms 实现此功能吗 ListView FocusedItem ListView Items itemToFocusIndex 我正在尝试手动设置focus 不是选择 WPF ListView 中的
  • C# 检查MySQL数据库是否存在

    我正在使用顶级语句用 C 编写一个简单的控制台应用程序 我想在开始时检查是否存在数据库 这是我的代码 using MySql Data MySqlClient using MySqlConnection connection new MyS
  • 在主键上创建索引并建立索引有什么好处吗?

    我检查了这个帖子 MySQL中主键 唯一键 索引有什么区别 https stackoverflow com questions 3844899 whats the difference between primary key unique