MySql 索引(1)

        索引(index)

-- MySql的索引是在存储引擎层实现的,不同的存储引擎有不同的结构
-- 几种主要的索引结构-- 1.B+Tree 最常见的索引类型,大部分的引擎都支持
-- 支持:InnoDB、MylSAM、Memory-- 2.Hash 底层的数据结构由hash表实现,只有精确匹配索引列的查询才有效,hash索引不支持范围查询
-- 支持:Memory
-- 实现原理:采用一定的hash算法,将键值计算为新的hash值,映射到hash表中对应的位置,存储在hash表中
-- 特点:1.hash索引只能用于对等比较(“=” 或 “in”),不支持范围查询(between,>,<......)
--       2.无法利用索引进行排序
--       3.查询效率极高,若避免哈希碰撞,通常只需检索一次就可以成功查询-- 3.R-tree(空间索引) 空间索引是MylSAM引擎的一个特殊的索引类型,主要用于地理空间数据类型,适用面较少
-- 支持MylSAM-- 4.Full-text(全文索引) 是一种通过建立倒排索引,快速匹配文档的方式
-- 5.6之后的InnoDB支持、MylSAM支持-- 索引的分类
--      1.主键索引:针对表中的主键创建索引       特点:默认自动创建主键索引,只能有一个主键索引       关键字:primary
--      2.唯一索引:避免同一个表中某数据列中的值重复     特点:可以有多个     关键字:unique
--      3.常规索引:快速定位特定数据     特点:可以有多个
--      4.全文索引:全文索引是查找文本中的关键词,而不是比较索引中的值     特点:可以有多个     关键字:fulltext-- 在InnoDB存储引擎中,根据索引的存储形式,可以分为聚集索引和二级索引
--      1.聚集索引:将数据存储和索引放在一块,索引结构的叶子节点保存了这一行的数据     特点:有且仅有一个
--      2.二级索引(辅助索引):将数据存储和索引分开,索引结构的叶子节点关联其对应的主键     特点:可以存在多个-- InnoDB存储的查询示例
/* 假如查询一张表,id是主键;那么id就会根据id创造一个聚集索引,数据结构是B+Tree,叶子节点存的是id值和id对应的这一行的数据如果根据id进行查找,就会找到id,从而找到id对应的一行的数据;字段name会创造出一个二级索引,数据结构也是B+Tree,但是叶子节点存储的是name和name所对应的id,若想根据name查到其他的,则会通过id值,回到聚集索引中,根据id找到对应的行的数据,这种方式也称为回表查询 */-- 数据准备create database exercise_linux;use exercise_linux;create table tb_user(id int primary key auto_increment comment '主键',name varchar(50) not null comment '用户名',phone varchar(11) not null comment '手机号',email varchar(100) comment '邮箱',profession varchar(11) comment '专业',age tinyint unsigned comment '年龄',gender char(1) comment '性别 , 1: 男, 2: 女',status char(1) comment '状态',createtime datetime comment '创建时间'
) comment '系统用户表';INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('吕布', '17799990000', 'lvbu666@163.com', '软件工程', 23, '1', '6', '2001-02-02 00:00:00');
INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('曹操', '17799990001', 'caocao666@qq.com', '通讯工程', 33, '1', '0', '2001-03-05 00:00:00');
INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('赵云', '17799990002', '17799990@139.com', '英语', 34, '1', '2', '2002-03-02 00:00:00');
INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('孙悟空', '17799990003', '17799990@sina.com', '工程造价', 54, '1', '0', '2001-07-02 00:00:00');
INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('花木兰', '17799990004', '19980729@sina.com', '软件工程', 23, '2', '1', '2001-04-22 00:00:00');
INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('大乔', '17799990005', 'daqiao666@sina.com', '舞蹈', 22, '2', '0', '2001-02-07 00:00:00');
INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('露娜', '17799990006', 'luna_love@sina.com', '应用数学', 24, '2', '0', '2001-02-08 00:00:00');
INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('程咬金', '17799990007', 'chengyaojin@163.com', '化工', 38, '1', '5', '2001-05-23 00:00:00');
INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('项羽', '17799990008', 'xiaoyu666@qq.com', '金属材料', 43, '1', '0', '2001-09-18 00:00:00');
INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('白起', '17799990009', 'baiqi666@sina.com', '机械工程及其自动化', 27, '1', '2', '2001-08-16 00:00:00');
INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('韩信', '17799990010', 'hanxin520@163.com', '无机非金属材料工程', 27, '1', '0', '2001-06-12 00:00:00');
INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('荆轲', '17799990011', 'jingke123@163.com', '会计', 29, '1', '0', '2001-05-11 00:00:00');
INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('兰陵王', '17799990012', 'lanlinwang666@126.com', '工程造价', 44, '1', '1', '2001-04-09 00:00:00');
INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('狂铁', '17799990013', 'kuangtie@sina.com', '应用数学', 43, '1', '2', '2001-04-10 00:00:00');
INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('貂蝉', '17799990014', '84958948374@qq.com', '软件工程', 40, '2', '3', '2001-02-12 00:00:00');
INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('妲己', '17799990015', '2783238293@qq.com', '软件工程', 31, '2', '0', '2001-01-30 00:00:00');
INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('芈月', '17799990016', 'xiaomin2001@sina.com', '工业经济', 35, '2', '0', '2000-05-03 00:00:00');
INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('嬴政', '17799990017', '8839434342@qq.com', '化工', 38, '1', '1', '2001-08-08 00:00:00');
INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('狄仁杰', '17799990018', 'jujiamlm8166@163.com', '国际贸易', 30, '1', '0', '2007-03-12 00:00:00');
INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('安琪拉', '17799990019', 'jdodm1h@126.com', '城市规划', 51, '2', '0', '2001-08-15 00:00:00');
INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('典韦', '17799990020', 'ycaunanjian@163.com', '城市规划', 52, '1', '2', '2000-04-12 00:00:00');
INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('廉颇', '17799990021', 'lianpo321@126.com', '土木工程', 19, '1', '3', '2002-07-18 00:00:00');
INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('后羿', '17799990022', 'altycj2000@139.com', '城市园林', 20, '1', '0', '2002-03-10 00:00:00');
INSERT INTO tb_user (name, phone, email, profession, age, gender, status, createtime) VALUES ('姜子牙', '17799990023', '37483844@qq.com', '工程造价', 29, '1', '4', '2003-05-26 00:00:00');select * from tb_user;-- 创建索引
-- create [unique|fulltext] index index_name on table_name (index_col_name,...);
-- (index_col_name)是索引关联的字段,若一个索引只关联一个字段,则称为单列索引;若一个索引关联了多个字段,则称为联合(组合)索引-- 1.name字段为姓名字段,可能会重复,为该字段创建索引
create index idx_user_name on tb_user(name);
-- 2.phone手机号字段的值是非空、唯一的,为该字段创建唯一索引
create unique index idx_user_phone on tb_user(phone);
-- 3.为profession、age、status创建联合索引
create index idx_user_pro_age_sta on tb_user(profession, age, status); -- 联合索引的字段顺序有讲究
-- 4.为Email创建合适的索引提升查询效率
create unique index idx_user_email on tb_user(email);-- 查看索引(查看指定表中的索引)
-- show index from table_name
show index from tb_user;
-- 删除索引(删除指定表中的索引)
-- drop index index_name on table_name
create index idx_user_cr on tb_user(createtime);
drop index idx_user_cr on tb_user;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/419424.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Einsum(Einstein summation convention)

Einsum&#xff08;Einstein summation convention&#xff09; 笔记来源&#xff1a; Permute和Reshape嫌麻烦&#xff1f;einsum来帮忙&#xff01; The Einstein summation convention is a notational shorthand used in tensor calculus, particularly in the fields of …

[数据集][目标检测]西红柿缺陷检测数据集VOC+YOLO格式17318张3类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;17318 标注数量(xml文件个数)&#xff1a;17318 标注数量(txt文件个数)&#xff1a;17318 标…

张飞硬件11~19-电容篇笔记

电容作用 作为源&#xff0c;对后级电路提供能量&#xff0c;对源进行充电。简单讲就是放电和充电。在电路设计中&#xff0c;源往往与负载相隔很远&#xff0c;增加电容就可以起到稳定作用。电容两端的电压不能激变&#xff0c;增加电容可以稳定电压。 电容可以类比为水坝&a…

(javaweb)mysql---DDL

一.数据模型&#xff0c;数据库操作 1.二维表&#xff1a;有行有列 2. 3.客户端连接数据库&#xff0c;发送sql语句给DBMS&#xff08;数据库管理系统&#xff09;&#xff0c;DBMS创建--以文件夹显示 二.表结构操作--创建 database和schema含义一样。 这样就显示出了之前的内容…

系统编程--线程

这里写目录标题 线程概念什么是线程简介图解 内核原理图解 线程共享资源与非共享资源共享资源非共享资源 线程优缺点 线程控制原语pthread_self、pthread_create简介代码总结 循环创建多个子线程错误代码 线程间全局变量共享pthread_exit简介代码 pthread_join&#xff08;回收…

传统CV算法——基于Sift算法实现特征点检测

图像尺度空间 在一定的范围内&#xff0c;无论物体是大还是小&#xff0c;人眼都可以分辨出来。然而&#xff0c;计算机要具备相同的能力却很难。因此&#xff0c;为了让机器能够对物体在不同尺度下有一个统一的认知&#xff0c;就需要考虑图像在不同尺度下所存在的特点。这就…

Infiniband网络架构的技术与性能分析

Infiniband格局寡头&#xff0c;性能占优 这篇文章探讨了网络交换机的性能优势&#xff0c;以及如何通过扩大模型参数量来提高语言模型的生成和预测能力。然而&#xff0c;计算约束对这种正向关系产生了重要影响&#xff0c;导致在相同的计算约束下&#xff0c;总存在最佳的模型…

Linux网络编程IO管理

网络 IO 涉及到两个系统对象&#xff0c;一个是用户空间调用 IO 的进程或者线程&#xff0c;一个是内核空间的内核系统&#xff0c;比如发生 IO 操作 read 时&#xff0c;它会经历两个阶段&#xff1a; 等待内核协议栈的数据准备就绪&#xff1b;将内核中的数据拷贝到用户态的…

随机森林Random Forest(RF)回归预测-MATLAB代码实现

一、随机森林RF&#xff08;代码获取&#xff1a;底部公众号&#xff09; 随机森林&#xff08;Random Forest&#xff0c;RF&#xff09;是一种机器学习方法&#xff0c;常用于回归预测和分类任务。它通过构建多个决策树&#xff0c;并通过组合它们的预测结果来进行回归预测。…

时序预测|基于粒子群优化支持向量机的时间序列预测Matlab程序PSO-SVM 单变量和多变量 含基础模型

时序预测|基于粒子群优化支持向量机的时间序列预测Matlab程序PSO-SVM 单变量和多变量 含基础模型 文章目录 一、基本原理1. 问题定义2. 数据准备3. SVM 模型构建4. 粒子群优化&#xff08;PSO&#xff09;5. 优化与模型训练6. 模型评估与预测7. 流程总结8. MATLAB 实现概述 二、…

浅谈人工智能之python调用通义千问API

浅谈人工智能之python调用通义千问API API-KEY建立 第一步&#xff1a;我们登录阿里云百炼 第二步&#xff1a;点击界面上查看我的API-KEY 第三步&#xff1a;在跳出来的界面中&#xff0c;点击创建API-KEY 第四步&#xff1a;在跳出来的界面中&#xff0c;在描述中输入“t…

算法——支持向量机(support vector machines,SVM)

简介&#xff1a;个人学习分享&#xff0c;如有错误&#xff0c;欢迎批评指正 支持向量机&#xff08;Support Vector Machine, SVM&#xff09;是一种监督学习算法&#xff0c;广泛用于分类任务&#xff0c;也可以用于回归和异常检测等问题。SVM的核心思想是通过在特征空间中找…

Unity【Colliders碰撞器】和【Rigibody刚体】的应用——小球反弹效果

目录 Collider 2D 定义&#xff1a; 类型&#xff1a; Rigidbody 2D 定义&#xff1a; 属性和行为&#xff1a; 运动控制&#xff1a; 碰撞检测&#xff1a; 结合使用 实用检测 延伸拓展 1、在Unity中优化Collider 2D和Rigidbody 2D的性能 2、Unity中Collider 2D…

2024/9/8周报

文章目录 摘要Abstract数据挖掘数据挖掘的目标数据挖掘的过程数据挖掘的技术应用领域工具与平台代码示例 总结 摘要 智慧水务项目中&#xff0c;需要对采集的总氮、氨氮、化学需氧量、硝态氮、总磷、硝态氮等数据进行数据处理与挖掘&#xff0c;因此本周对数据挖掘相关内容进行…

CommonCollections1

CommonCollections1 poc展示 这是一段POC&#xff0c;运行后会弹出一个计算器。 import org.apache.commons.collections.*; import org.apache.commons.collections.functors.ChainedTransformer; import org.apache.commons.collections.functors.ConstantTransformer; im…

C#使用MQTT(二):MQTT客户端

上一篇我们初步设计了MQTT服务端 C#使用MQTT(一):MQTT服务端-CSDN博客 这里我们设计客户端MQTT Client,接上一篇 新建Windows窗体FormMqttClient 窗体FormMqttClient设计如图&#xff1a; 窗体FormMqttClient设计器相关代码如下 文件FormMqttClient.Designer.cs namespace…

uni-app--》打造个性化壁纸预览应用平台(四)完结篇

&#x1f3d9;️作者简介&#xff1a;大家好&#xff0c;我是亦世凡华、渴望知识储备自己的一名前端工程师 &#x1f304;个人主页&#xff1a;亦世凡华、 &#x1f306;系列专栏&#xff1a;uni-app &#x1f307;座右铭&#xff1a;人生亦可燃烧&#xff0c;亦可腐败&#xf…

论文写作神器!分享5款AI论文写作常用软件推荐

在当今学术研究和写作领域&#xff0c;AI论文写作工具的出现极大地提高了写作效率和质量。这些工具不仅能够帮助研究人员快速生成论文草稿&#xff0c;还能进行内容优化、查重和排版等操作。以下是五款目前最好用的AI论文写作软件推荐&#xff1a; 1. 千笔-AIPassPaper 千笔-…

SpringCache之本地缓存

针对不同的缓存技术&#xff0c;需要实现不同的cacheManager&#xff0c;Spring定义了如下的cacheManger实现。 CacheManger 描述 SimpleCacheManager 使用简单的Collection来存储缓存&#xff0c;主要用于测试 ConcurrentMapCacheManager 使用ConcurrentMap作为缓存技术&…

mac 安装redis

官网下载指定版本的redis https://redis.io/ 目前3.2.0 是最新最稳定的 版本 这里是历史版本下载 下载指定版本 安装 1.放到自定义目录下并解压 2.打开终端&#xff0c;执行命令 cd redis的安装目录下 make test -- 此命令的作用是将redis源代码编译成可执行文件&#xff0c…