码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【数据库系统概论】数据定义之索引的创建、修改与删除


    • 前言 ❓
    • 建立索引
      • 语法
      • 示例
    • 修改索引
      • 语法
      • 示例
    • 删除索引
      • 语法
      • 示例
    • 感谢 💖

    前言 ❓

    前面【数据库系统概论】数据定义之基本表的定义/创建、修改和删除提过,SQL的数据定义功能包括定义表、定义视图和定义索引。索引属于数据库系统三级模式结构中的内模式范畴。

    建立索引是加快查询速度的有效手段。用户可以根据需要为表中的单列(或多列)建立索引,也可以在一个表上建立一个或多个索引,以提供多种存取路径,从而加快查询速度。

    数据库索引有多种类型,常见的索引包括顺序文件上的索引、B+树索引、hash索引等。关于索引,可以看看这篇文章:【MySQL】什么是索引?如何选择索引类型?

    索引虽然能够加速数据库查询,但需要占用一定的存储空间,当基本表更新时,索引要进行相应的维护,这些都会增加数据库的负担,因此要根据实际应用的需要有选择地创建索引。

    建立索引

    DBA或表的属主(即建立表的人:Owner)根据需要建立索引。有些DBMS自动建立以下列上的索引:PRIMARY KEY 和 UNIQUE。

    语法

    CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON <表名>(<列名>[<次序>][,<列名>[<次序>] ]…);
    
    • 1
    • <表名>指定要建索引的基本表名字
    • 索引可以建立在该表的一列或多列上,各列名之间用逗号分隔
    • 用<次序>指定索引值的排列次序,升序:ASC,降序:DESC。缺省值:ASC
    • UNIQUE表明此索引的每一个索引值只对应唯一的数据记录
    • CLUSTER表示要建立的索引是聚簇索引

    示例

    为Student表、Course表、SC表分别建立索引,其中Student表按学号升序建立唯一索引,Course表按课程号升序建立唯一索引,SC表按学号升序和成绩降序建立唯一索引。

    CREATE UNIQUE INDEX Stusno ON Student(Sno);
    CREATE UNIQUE INDEX Coucno ON Course(Cno);
    CREATE UNIQUE INDEX SCno ON SC(Sno ASC, Grade DESC);
    
    • 1
    • 2
    • 3

    修改索引

    对于索引的修改往往只涉及到改名。

    语法

    ALTER INDEX <旧索引名> RENAME TO <新索引名>;
    
    • 1

    示例

    将SC表的SCno索引名改为SCSno:

    ALTER INDEX SCno RENAME TO SCSno;
    
    • 1

    删除索引

    索引一经建立就由系统使用和维护。但是入股哦数据修改频繁,系统就会花费许多时间来维护索引,从而降低了查询效率。这时可以删除一些不必要的索引。

    语法

    DROP INDEX <索引名>;
    
    • 1

    删除索引时,系统会从数据字典中删去有关该索引的描述。

    示例

    删除Student表中的Stusno索引:

    DROP INDEX Stusno;
    
    • 1

    感谢 💖

    好啦,这次的分享就到这里,感谢大家看到这里🤞

  • 相关阅读:
    Webapp中完成资源的跳转:转发和重定向
    LeetCode 630. 课程表 III - 优先队列&贪心
    NC Cloud uploadChunk文件上传漏洞复现
    如何通过Java代码在Word中创建可填充表单
    二进制k8s搭建—V1.20版本(高可用集群)—debian-centos系统
    Linux系统的常见变种、发行版有哪些 Debian,CentOS等
    10.0 SpringMVC源码分析之MVC 模型由来
    Opencv4.4+Opencv_contrib vs2017 win10编译
    二、MAVEN的安装和配置
    UE4/UE5 设置widget中text的字体Outline
  • 原文地址:https://blog.csdn.net/m0_60511809/article/details/133707702
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号