加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

索引优秀实践

发布时间:2021-04-19 14:24:49 所属栏目:动态 来源:互联网
导读:滤除数据。如果查询使用这些键列,将使用索引,滤波器将更快。 当在Where子句中引用密钥列时,索引的存在不保证其使用情况。因此,您必须确保正在使用索引。大多数数据库都有一个名为查询引擎的组件,该组件决定了许多执行计划中的哪一个来确保查询的最快结

滤除数据。如果查询使用这些键列,将使用索引,滤波器将更快。

当在Where子句中引用密钥列时,索引的存在不保证其使用情况。因此,您必须确保正在使用索引。大多数数据库都有一个名为查询引擎的组件,该组件决定了许多执行计划中的哪一个来确保查询的最快结果。

查询引擎伴随着解释命令,帮助我们获取执行计划并列出计划的每一步的成本。

有效地使用数据类型

数据库支持只有少量数据类型。已创建所有数据类型以提供特定目的。如果您不使用旨在服务该目的的数据类型,您将在数据库上放入额外的负载以进行隐式铸造,额外的磁盘空间等。

避免的简单方法是使用DateTime来存储日期和时间,使用整数来存储整数。不要使用VARCHAR将所有内容从数字存储到JSON对象。大多数数据库现在支持JSON作为本机数据类型。这意味着您可以使用SQL有效地存储和检索来自数据库中的JSON对象的数据。

不要过度索引

索引创建必须在利用磁盘空间,增加管理开销和增加查询性能之间进行平衡。您无法创建索引以将空间保存为数据库查询性能。您还无法在所有列上创建索引以提供所有查询。它不像那样工作。

您必须通过识别以下内容来检查查询工作负载 -

  • 用于过滤Filter数据的列。
  • 用于联结Join表的列。
  • 用于排序Order数据的列。
  • 用于分组Group数据的列。
  • 用于过滤,Join,Oder或Group的组合使用的列。

这五件事将决定需要创建多少个索引,索引列应该在索引中有什么组合,优先顺序。

请注意,Column_P上的索引IDX_A,Column_Q DESC与

  • Column_Q中的索引IDX_A,列P或,
  • index idx_b在column_p desc上,列q

还要确保您使用一些工具或脚本来标识数据库中是否存在重复索引。

知道不使用索引时

谨防样品条款的诱惑。这是一个指数杀手。知道索引的第一列必须始终存在于要使用的查询的过滤器,订单,加入或组操作中。如果您使用LACE子句使用索引过滤数据,则您应该知道您无法期望索引在类似于“%的东西”中的内容。

当数据库引擎无法隐式地映射数据类型,字符集或索引列的排序时,也没有使用索引。有关此内容的更多详细信息,并查找更多关于索引的限制,请使用此链接。

结论

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!