下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

数据库的索引优秀实践

作者:闻数起舞     来源: 今日头条点击数:412发布时间: 2021-06-24 09:03:23

标签: 数据库管理系统access数据库数据库设计

数据库,索引优秀实践。数据库(Database)是按照 数据结构来组织、 存储和管理数据的建立在计算机存储设备上的仓库。

简单来说是本身可视为 电子化的文件柜——存储电子 文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。

处理数据库索引的简短指南

数据库索引通常很糟糕。只有在设计和有效地使用时才实现数据库索引的权力。否则,索引是磁盘空间和数据库性能的纯粹浪费。但是你不想浪费磁盘空间,所以让我们快速通过一些您需要正确设计和使用索引所需的内容。

只有一个原因创建数据库索引 - 仅在数据库上提供现有或将来的查询负载,即必须根据当前或预期的使用设计索引。所有主要数据库都提供了一种监控索引使用的方法。

数据库的索引优秀实践_数据库管理系统_access数据库_数据库设计_课课家

使用where子句

SQL查询中的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子句使用索引过滤数据,则您应该知道您无法期望索引在类似于“%的东西”中的内容。

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

结论

如果未正确使用,数据库索引可以证明是在反转的角色中,即,它们可以妨碍数据库的性能而不是增强它。为确保数据库由于索引不良而受到影响,请确保正确索引管理,经常探望索引,并正确分析新索引创建。

严格来说,数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据指的是以一定的数据模型组织、描述和储存在一起、具有尽可能小的冗余度、较高的数据独立性和易扩展性的特点并可在一定范围内为多个用户共享。

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程