达梦数据库DM8-索引篇
目录
- 一、前景
- 二、名词
- 三、语法
- 1、命令方式创建索引
- 1.1 创建索引空间
- 1.2.1 创建普通索引并指定索引数据空间
- 1.2.2 另一种没验证,官方写法
- 1.3 复合索引
- 1.4 唯一索引
- 1.5 位图索引
- 1.6 函数索引
- 2、创建表时候创建索引
- 3、可视化方式创建索引
- 3.1 打开DM管理工具
- 3.2 找到要创建索引的表,右击选择创建索引
- 3.3. 选择规则及字段
- 3.4. 选择数据储存位置
- 3.5. 完成||验证
- 四、示例
- 1、创建一个索引表空间名为ind_student
- 2、根据user_name, user_sex创建复合索引
- 3、根据phone创建唯一索引
一、前景
数据库索引是为了提高查询速度而对表字段附加的一种标识。简单来说,索引其实是一种数据结构。数据库的索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库。
首先我们需要明白为什么索引会提高查询速度,数据库在执行一条SQL语句的时候,默认扫描方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合。如果我们对某一字段增加索引,查询时就会先去索引列表中一次定位到特定值的行数,大大减少遍历匹配的行数,所以数据库索引能明显提高查询的速度。
下面列举几种适合建立索引的情况:
- 经常在where条件中作为查询条件的字段可以建立索引;
- 外键关联列可以建立索引;
- order by排序后面的字段可以建立索引;
- group by分组后的字段可以建立索引;
- …
二、名词
- CREATE 创建标识
- OR REPLACE INDEX 后跟指定索引名称(模式+索引名)
- ON on后跟操作的表,及创建的字段
- STORAGE 指定表空间关键字
- UNIQUE 唯一索引
- INDEX 普通索引
三、语法
1、命令方式创建索引
1.1 创建索引空间
create tablespace ind_tbs datafile '****/ind_**.dbf' size 32 autoextend on next 10 maxsize 2000;
1.2.1 创建普通索引并指定索引数据空间
create index ind_name on TEST.student(user_name) tablespace ind_tbs;
1.2.2 另一种没验证,官方写法
CREATE OR REPLACE INDEX "TEST"."index_p_b_c" ON "TEST"."student" ( "user_name" ASC, "user_sex" ASC) STORAGE ( ON "ind_tbs", CLUSTERBTR );
1.3 复合索引
create index ind_name_sex on TEST.student(user_name,user_sex) tablespace ind_tbs;
1.4 唯一索引
create unique index ind_phone on TEST.student(phone);
1.5 位图索引
1.6 函数索引
2、创建表时候创建索引
-- 创建表空间
create tablespace "student" datafile '***/student.DBF' size 32 autoextend on maxsize 16777215 CACHE = NORMAL;
-- 也可以创建一个索引空间分开存放(这里就把索引数据和数据放在一起了)
CREATE TABLE "TEST"."student"
("id" BIGINT NOT NULL,"user_name" VARCHAR(16) NOT NULL,"user_sex" INTEGER NOT NULL,"phone" VARCHAR NOT(11) NULL,"create_by" BIGINT DEFAULT 0 NOT NULL,"create_time" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL,"update_by" BIGINT DEFAULT 0 NOT NULL,"update_time" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL,NOT CLUSTER PRIMARY KEY("id"), -- 默认主键就是唯一索引UNIQUE("phone") -- 创建手机号字段为唯一索引
) STORAGE(ON "student", CLUSTERBTR) ;COMMENT ON TABLE "TEST"."student" IS '成本拆分记录';
COMMENT ON COLUMN "TEST"."student"."id" IS '主键';
COMMENT ON COLUMN "TEST"."student"."user_name" IS '姓名';
COMMENT ON COLUMN "TEST"."student"."user_sex" IS '性别';
COMMENT ON COLUMN "TEST"."student"."phone" IS '手机号';
COMMENT ON COLUMN "TEST"."student"."create_by" IS '创建人id';
COMMENT ON COLUMN "TEST"."student"."create_time" IS '创建时间';
COMMENT ON COLUMN "TEST"."student"."update_by" IS '修改人id';
COMMENT ON COLUMN "TEST"."student"."update_time" IS '修改时间';-- 创建复合索引
CREATE OR REPLACE INDEX "TEST"."index_phone" ON "TEST"."student"("user_name" ASC,"user_sex" ASC) STORAGE(ON "student", CLUSTERBTR) ;
3、可视化方式创建索引
3.1 打开DM管理工具

3.2 找到要创建索引的表,右击选择创建索引

3.3. 选择规则及字段

3.4. 选择数据储存位置

3.5. 完成||验证

四、示例
一张student表,含有id,user_name, user_sex,phone …字段
** 以下操作示例:
- – TEST 为模式
- – student 为表名称
1、创建一个索引表空间名为ind_student
create tablespace ind_student datafile '****/ind_student.dbf' size 32 autoextend on next 10 maxsize 2000;
2、根据user_name, user_sex创建复合索引
create index ind_name_sex on TEST.student(user_name,user_sex) tablespace ind_student;
3、根据phone创建唯一索引
create unique index ind_phone on TEST.student(phone);
相关文章:
达梦数据库DM8-索引篇
目录 一、前景二、名词三、语法1、命令方式创建索引1.1 创建索引空间1.2.1 创建普通索引并指定索引数据空间1.2.2 另一种没验证,官方写法1.3 复合索引1.4 唯一索引1.5 位图索引1.6 函数索引 2、创建表时候创建索引3、可视化方式创建索引3.1 打开DM管理工具3.2 找到要…...
【中项】系统集成项目管理工程师-第4章 信息系统架构-4.5技术架构
前言:系统集成项目管理工程师专业,现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试,全称为“全国计算机与软件专业技术资格(水平)考试”&…...
随机梯度下降 (Stochastic Gradient Descent, SGD)
SGD 是梯度下降法的一种变体。与批量梯度下降法不同,SGD 在每次迭代中仅使用一个样本(或一个小批量样本)的梯度来更新参数。它能更快地更新参数,并且可以更容易地跳出局部最优解。 原理 SGD 的基本思想是通过在每次迭代中使用不…...
TDengine 3.3.2.0 发布:新增 UDT 及 Oracle、SQL Server 数据接入
经过数月的开发和完善,TDengine 3.3.2.0 版本终于问世了。这一版本中既有针对开源社区的功能优化,也有从企业级用户需求出发做出的功能调整。在开源版本中,我们增强了系统的灵活性和兼容性;而在企业级版本中,新增了关键…...
Ubuntu 24.04 LTS 无法打开Chrome浏览器
解决办法: 删除本地配置文件,再次点击Chrome图标,即可打开。 rm ~/.config/google-chrome/ -rf ref: Google chrome not opening in Ubuntu 22.04 LTS - Ask Ubuntu...
linux中RocketMQ安装(单机版)及springboot中的使用
文章目录 一、安装1.1、下载RocketMQ1.2、将下载包上传到linux中,然后解压1.3、修改runserver.sh的jvm参数大小(根据自己服务器配置来修改)1.4、启动mqnamesrv (类似于注册中心)1.5、修改runbroker.sh的jvm参数大小&am…...
亚信安全终端一体化解决方案入选应用创新典型案例
近日,由工业和信息化部信息中心主办的2024信息技术应用创新发展大会暨解决方案应用推广大会成功落幕,会上集中发布了一系列技术水平先进、应用效果突出、产业带动性强的信息技术创新工作成果。其中,亚信安全“终端一体化安全运营解决方案”在…...
Django视图与URLs路由详解
在Django Web框架中,视图(Views)和URLs路由(URL routing)是Web应用开发的核心概念。它们共同负责将用户的请求映射到相应的Python函数,并返回适当的响应。本篇博客将深入探讨Django的视图和URLs路由系统&am…...
怎么关闭 Windows 安全中心,手动关闭 Windows Defender 教程
Windows 安全中心(也称为 Windows Defender Security Center)是微软 Windows 操作系统内置的安全管理工具,用于监控和控制病毒防护、防火墙、应用和浏览器保护等安全功能。然而,在某些情况下,用户可能需要关闭 Windows…...
洛谷看不了别人主页怎么办
首先,我们先点进去 可以看到,看不了一点 那我们看向上方,就可以发现,我们那有个URL,选中 把光标插到n和/中间 把.cn删了,变成国际服 我们就可以看了 但是国际服还没搭建完,跳转的时候可能503&a…...
邮件安全篇:企业电子邮件安全涉及哪些方面?
1. 邮件安全概述 企业邮件安全涉及多个方面,旨在保护电子邮件通信的机密性、完整性和可用性,防止数据泄露、欺诈、滥用及其他安全威胁。本文从身份验证与防伪、数据加密、反垃圾邮件和反恶意软件防护、邮件内容过滤与审计、访问控制与权限管理、邮件存储…...
软件测试09 自动化测试技术(Selenium)
重点/难点 重点:理解自动化测试的原理及其流程难点:Selinum自动化测试工具的使用 目录 系统测试 什么是系统测试什么是功能测试什么是性能测试常见的性能指标有哪些 自动化测试概述 测试面临的问题 测试用例数量增多,工作量增大ÿ…...
记录解决springboot项目上传图片到本地,在html里不能回显的问题
项目场景: 项目场景:在我的博客系统里:有个相册模块:需要把图片上传到项目里,在html页面上显示 解决方案 1.建一个文件夹 例如在windows系统下。可以在项目根目录下建个photos文件夹,把上传的图片文件…...
C++ 中 const 关键字
C 中 const 关键字 2009-02-19 2024-07-23 补充C11后的做法 在 C 中,const 是一个关键字(也称为保留字),它用于指定变量或对象的值在初始化后不能被修改。关键字是编程语言中具有特殊含义的词汇,编译器会识别这些词并…...
客梯自动监测识别摄像机
当今社会,随着城市建设的快速发展,客梯作为现代化建筑不可或缺的一部分,其安全性与效率显得尤为重要。为了提升客梯的安全管理水平,智能监测技术应运而生,尤其是客梯自动监测识别摄像机系统的应用,为乘客和…...
为什么那么多人学习AI绘画?工资香啊!
在当今这个科技日新月异的时代,AI绘画作为数字艺术与人工智能融合的璀璨成果,正吸引着无数人投身其中,而“工资香啊!”无疑是这一热潮背后不可忽视的驱动力之一。 AI绘画的高薪待遇是吸引众多学习者的关键因素。随着市场对AI艺术…...
国产JS库(js-tool-big-box)7月度总结
js-tool-big-box开发已经有3个月了,团队内的小伙伴进行了热烈的讨论,持续做了功能迭代。小伙伴们也做了艰苦卓绝的文档分享,有纯功能分享类的,有带有小故事的,有朋友们利用自己独自网站分发分享的。7月份快要结束了&am…...
c++ 高精度加法(只支持正整数)
再给大家带来一篇高精度,不过这次是高精度加法!话不多说,开整! 声明 与之前那篇文章一样,如果看起来费劲可以结合总代码来看 定义 由于加法进位最多进1位,所以我们的结果ans[]的长度定义为两个加数中最…...
python键盘操作工具:ctypes、pyautogui
这里模拟 Win Ctrl L 组合键 1、ctypes ctypes库,它允许我们直接调用Windows API来模拟键盘输入。 import ctypes import time# 定义所需的常量和结构 LONG ctypes.c_long DWORD ctypes.c_ulong ULONG_PTR ctypes.POINTER(DWORD) WORD ctypes.c_ushortclass…...
计算机网络发展历史
定义和基本概念 计算机网络是由多个计算设备通过通信线路连接起来的集合,这些设备能够互相交换数据、消息和资源。计算机网络的核心功能是实现数据的远程传输和资源共享,它使得地理位置的限制被大大减弱,极大地促进了信息的自由流动和人类社…...
WorkshopDL实用指南:如何高效下载Steam创意工坊模组?
WorkshopDL实用指南:如何高效下载Steam创意工坊模组? 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL WorkshopDL是一款专为跨平台游戏玩家设计的Steam创…...
RPFM:全面战争MOD开发的终极效率提升指南
RPFM:全面战争MOD开发的终极效率提升指南 【免费下载链接】rpfm Rusted PackFile Manager (RPFM) is a... reimplementation in Rust and Qt6 of PackFile Manager (PFM), one of the best modding tools for Total War Games. 项目地址: https://gitcode.com/gh_…...
Elasticvue深度实战:终极Elasticsearch图形化管理工具完全指南
Elasticvue深度实战:终极Elasticsearch图形化管理工具完全指南 【免费下载链接】elasticvue Elasticsearch gui - desktop app, browser extension, docker, self hosted 项目地址: https://gitcode.com/gh_mirrors/el/elasticvue Elasticsearch作为现代应用…...
从渔船到货轮:聊聊AIS Class A/B/SART设备怎么选,以及那些年我们踩过的安装坑
从渔船到货轮:AIS设备选型与安装避坑实战指南 清晨五点的渔港,老张正蹲在甲板上调试新装的AIS设备,VHF电台里突然传来货轮的警告声——这已经是本周第三次因信号问题险些发生碰撞。作为拥有二十年航海经验的老船长,他深知在茫茫大…...
别再关DRC警告了!手把手教你用AD19正确设置3D封装高度偏移,解决PCB叠层干涉
彻底解决PCB叠层干涉:Altium Designer 19中3D封装高度偏移的实战指南 在PCB设计领域,3D封装的高度管理一直是工程师们容易忽视却又至关重要的环节。许多硬件工程师在遇到DRC(设计规则检查)警告时,第一反应往往是寻找关…...
Python逆向工程库Gemini-API:解锁Google Gemini多模态与深度研究全功能
1. 项目概述与核心价值如果你正在寻找一个能让你在Python项目中无缝接入Google Gemini(就是那个以前叫Bard的AI)全部能力的库,并且希望它能像官方API一样优雅易用,同时又能绕过一些官方限制,直接使用网页版的高级功能&…...
WeChatExporter终极指南:三步轻松备份微信聊天记录完整解决方案
WeChatExporter终极指南:三步轻松备份微信聊天记录完整解决方案 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 你是否曾因更换手机而丢失重要的微信聊天记录…...
5分钟掌握SpliceAI:用深度学习预测基因剪接变异的革命性工具
5分钟掌握SpliceAI:用深度学习预测基因剪接变异的革命性工具 【免费下载链接】SpliceAI A deep learning-based tool to identify splice variants 项目地址: https://gitcode.com/gh_mirrors/sp/SpliceAI 想要快速识别可能导致遗传疾病的基因变异吗…...
llm.energy:为AI智能体精准提取文档的引擎,告别爬虫噪音
1. 项目概述:为AI智能体“供能”的文档提取引擎 如果你正在构建AI智能体、自动化工作流,或者只是想让Claude、Cursor这类AI助手更好地理解和使用某个项目的文档,那你一定遇到过这样的困境:文档散落在各个角落,格式五花…...
电动汽车动力总成悬置系统稳健优化与结构设计【附仿真】
✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、EI、SCI写作与指导,毕业论文、期刊论文经验交流。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,可以私信,或者点击《获取方式》 (1)六自由度悬置系统动力学建…...
