MySQL索引的类型有哪些?
分析&回答
从功能逻辑角度,可分为:
- 普通索引 INDEX(普通索引) ALTER TABLE
table_name
ADD INDEX index_name (column
) - 唯一索引 UNIQUE(唯一索引) ALTER TABLE
table_name
ADD UNIQUE (column
) - 主键索引 PRIMARY KEY(主键索引) ALTER TABLE
table_name
ADD PRIMARY KEY (column
) - 组合索引 组合索引 ALTER TABLE
table_name
ADD INDEX index_name (column1
,column2
,column3
) - 全文索引 FULLTEXT(全文索引) ALTER TABLE
table_name
ADD FULLTEXT (column
)
从数据结构角度,可分为:
- B+树索引
- hash索引
- 全文索引
- 空间数据索引(R-Tree索引)(不要求)
从物理存储角度,可分为:
- 聚簇索引
- 非聚簇索引
反思&扩展
说说数据库索引类型?(Oracle)
逻辑上:
- Single column 单行索引
- Concatenated 多行索引
- Unique 唯一索引
- NonUnique 非唯一索引
- Function-based函数索引
- Domain 域索引
物理上:
- Partitioned 分区索引
- NonPartitioned 非分区索引
- B-tree:
- Normal 正常型B树
- Rever Key 反转型B树
- Bitmap 位图索引
索引结构:
B-tree:
- 适合与大量的增、删、改(OLTP);
- 不能用包含OR操作符的查询;
- 适合高基数的列(唯一值多)
- 典型的树状结构;
- 每个结点都是数据块;
- 大多都是物理上一层、两层或三层不定,逻辑上三层;
- 叶子块数据是排序的,从左向右递增;
- 在分支块和根块中放的是索引的范围;
Bitmap:
- 适合与决策支持系统;
- 做UPDATE代价非常高;
- 非常适合OR操作符的查询;
- 基数比较少的时候才能建位图索引;
B*tree索引的话通常在访问小数据量的情况下比较适用,比如你访问不超过表中数据的5%,当然这只是个相对的比率,适用于一般的情况。bitmap的话在数据仓库中使用较多,用于低基数列,比如性别之类重复值很多的字段,基数越小越好。
喵呜面试助手:一站式解决面试问题,你可以搜索微信小程序 [喵呜面试助手] 或关注 [喵呜刷题] -> 面试助手 免费刷题。如有好的面试知识或技巧期待您的共享!
相关文章:
![](https://www.ngui.cc/images/no-images.jpg)
MySQL索引的类型有哪些?
分析&回答 从功能逻辑角度,可分为: 普通索引 INDEX(普通索引) ALTER TABLE table_name ADD INDEX index_name ( column )唯一索引 UNIQUE(唯一索引) ALTER TABLE table_name ADD UNIQUE (column)主键索引 PRIMARY KEY(主键索引…...
![](https://img-blog.csdnimg.cn/872d988e13224e10b7c33d6dba5c9869.png)
【JavaScript】在指定dom元素前面创建标签元素
一、基础操作过程 要在指定的DOM元素前面创建标签元素,有以下步骤: 获取指定的DOM元素:使用document.querySelector()或document.getElementById()等方法来获取指定的DOM元素。 const targetElement document.querySelector(#targetElement…...
![](https://img-blog.csdnimg.cn/79c9b68ba3084b3e8545e8670b4f00a0.png)
ARMv8 TTBRx寄存器
ARMv8 TTBRx寄存器 1 TTBR0_ELx and TTBR1_ELx2 TTBR0_ELx2.1 TTBR0_EL12.2 TTBR0_EL22.3 TTBR0_EL33 TTBR13.1 TTBR1_EL13.2 TTBR1_EL2 4 访问TTBRx寄存器4.1 TTBR0_ELx4.2 TTBR1_ELx 5 TTBRx保留的是物理地址还是虚拟地址5.1 保存的是物理地址还是虚拟地址5.2 为什么是物理地…...
![](https://img-blog.csdnimg.cn/01b340278b2343d69d070bcc9d12eff2.png)
C51智能小车(循迹、跟随、避障、测速、蓝牙、wifie、4g、语音识别)总结
目录 1.电机模块开发 1.1 让小车动起来 1.2 串口控制小车方向 1.3 如何进行小车PWM调速 1.4 PWM方式实现小车转向 2.循迹小车 2.1 循迹模块使用 2.2 循迹小车原理 2.3 循迹小车核心代码 3.跟随/避障小车 3.1 红外壁障模块分析编辑 3.2 跟随小车的原理 3.3 跟随小…...
![](https://img-blog.csdnimg.cn/8f91680a03ca4336a1e2a02a06400749.png#pic_center)
回归预测 | MATLAB实现PCA-BP主成分降维结合BP神经网络多输入单输出回归预测
回归预测 | MATLAB实现PCA-BP主成分降维结合BP神经网络多输入单输出回归预测 目录 回归预测 | MATLAB实现PCA-BP主成分降维结合BP神经网络多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 MATLAB实现PCA-BP主成分降维算法结合BP神经网络多输入单输出回…...
![](https://img-blog.csdnimg.cn/9f8408a00ebe4605a383d1e27b3eddde.png#pic_center)
Kubernetes(k8s)部署高可用多主多从的Redis集群
Kubernetes部署高可用多主多从的Redis集群 环境准备准备Kubernetes准备存储类 部署redis准备一个命名空间命令创建yaml文件创建(推荐) 准备redis配置文件准备部署statefulset的资源清单文件执行文件完成部署初始化集群 环境准备 准备Kubernetes 首先你…...
![](https://img-blog.csdnimg.cn/94bf5df9a8c649e797c21bf87c8de150.png)
算法专题:前缀和
文章目录 Acwing:前缀和示例2845.统计趣味子数组的数目思路容易理解的写法:前缀和两层循环存在问题:超时 优化写法:两数之和思路,转换为哈希表 前缀和,就是求数组中某一段的所有元素的和。 求子数组中某一…...
![](https://img-blog.csdnimg.cn/img_convert/f0be0289f17f1bccdb959276e5369c79.png)
bs4库爬取天气预报
Python不仅用于网站开发,数据分析,图像处理,也常用于爬虫技术方向,最近学习了解下,爬虫技术入门一般先使用bs4库,爬取天气预报简单尝试下。 第一步:首先选定目标网站地址 网上查询,…...
![](https://img-blog.csdnimg.cn/1ae3618bc1e24e9880f8733a8b7f2900.png)
l8-d8 TCP并发实现
一、TCP多进程并发 1.地址快速重用 先退出服务端,后退出客户端,则服务端会出现以下错误: 地址仍在使用中 解决方法: /*地址快速重用*/ int flag1,len sizeof (int); if ( setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &a…...
![](https://img-blog.csdnimg.cn/img_convert/4ed379521beb304b95f0644be855190f.png)
编写中间件以用于 Express 应用程序
概述 中间件函数能够访问请求对象 (req)、响应对象 (res) 以及应用程序的请求/响应循环中的下一个中间件函数。下一个中间件函数通常由名为 next 的变量来表示。 中间件函数可以执行以下任务: 执行任何代码。对请求和响应对象进行更改。结束请求/响应循环。调用堆…...
![](https://www.ngui.cc/images/no-images.jpg)
【2023年数学建模国赛】D题解题思路
2023年数学建模国赛D题解题思路 为了解决问题1、问题2和问题3,我们可以采用动态规划方法来制定生产计划,考虑了不确定性因素和多种可能情况的预案集。首先,我们需要定义一些变量和符号: T T T:总的养殖周期࿰…...
![](https://www.ngui.cc/images/no-images.jpg)
python爬虫之正则表达式学习
网络安全离不开脚本和工具的开发,python很多又需要正则表达式。 这是一个很好的学习正则表达式的项目 https://github.com/ziishaned/learn-regex/blob/master/translations/README-cn.md 基本匹配 正则表达式其实就是在执行搜索时的格式,它由一些字…...
![](https://img-blog.csdnimg.cn/img_convert/c5e24d0d60c4bb6b16ef2f794f6ac0fe.png)
智慧能源方案:TSINGSEE青犀AI算法中台在能源行业的应用
一、方案背景 互联网、物联网、人工智能等新一代信息技术引领新一轮产业革命,加快能源革命步伐。尤其是随着人工智能技术的不断发展,AI智能检测与识别技术在能源行业的应用也越来越广泛。与此同时,国家出台多项政策,将智慧能源纳…...
![](https://img-blog.csdnimg.cn/aded4c6a09cf4c61a9456466f3286293.png)
达梦数据库awr报告收集
1、找出快照点snap_id与时间的对应关系 SYS.WRM$_SNAPSHOT表中记录了快照点snap_id与时间的对应关系 例如如下语句可以得出2023-09-04这一天各个时间点对应的快照点snap_id select snap_id,end_interval_time from SYS.WRM$_SNAPSHOT where end_interval_time between to…...
![](https://img-blog.csdnimg.cn/f1073df4f5de437aa31275be29061927.png)
c语言练习43:深入理解strcmp
深入理解strcmp strcmp的主要功能是用来比较两个字符串 模拟实现strcmp 比较两个字符串对应位置上的大小 按字典序进行比较 例如: 输入:abc abc 输出:0 输入:abc ab 输出:>0的数 输入:ab abc …...
![](https://img-blog.csdnimg.cn/ac868df931354dd692b529996382eaff.png)
NUC980webServer开发
目录 1.RTL8189FTV驱动移植 2.wifi配置工具hostapd移植 1.openssl-1.0.2r交叉编译 2.libnl-3.2.25.tar.gz交叉编译 3.hostapd-2.9.tar.gz交叉编译 4.移植相关工具到开发板 1.RTL8189FTV驱动移植 1. 把驱动文件源码放在linux源码的drivers/net/wireless/realtek/rtlwifi/目录…...
![](https://img-blog.csdnimg.cn/082f81e294e74ffcafd522e2db06c361.jpeg)
驱动开发--day2
实现三盏灯的控制,编写应用程序测试 head.h #ifndef __HEAD_H__ #define __HEAD_H__#define LED1_MODER 0X50006000 #define LED1_ODR 0X50006014 #define LED1_RCC 0X50000A28#define LED2_MODER 0X50007000 #define LED2_ODR 0X50007014#endif mychrdev.c #inc…...
![](https://img-blog.csdnimg.cn/img_convert/f94ab5145b6156676276fa66cfa4f40c.png)
用户促活留存新方式——在APP中嵌入小游戏
随着APP同类产品的不断出现,APP开发者们面临着激烈的竞争,很多APP下载后被新的APP取代,获客成本越来越高。同时开发者还会面临用户粘性差、忠诚度低、用完即走、留存困难,商业化价值被大大缩减。 在APP中植入小游戏来提高用户活跃…...
![](https://img-blog.csdnimg.cn/0abdbb280bc745b4b9d19ccbbe44dc87.png#pic_center)
MySQL 8.0.34(x64)安装笔记
一、背景 从MySQL 5.6到5.7,再到8.0,版本的跳跃不可谓不大。安装、配置的差别也不可谓不大,特此备忘。 二、过程 (1)获取MySQL 8.0社区版(MySQL Community Server) 从 官网 字样 “MySQL …...
![](https://www.ngui.cc/images/no-images.jpg)
物流供应商实现供应链自动化的3种方法
当前影响供应链的全球性问题(如新冠肺炎疫情)正在推动许多物流供应商重新评估和简化其流程。运输协调中的摩擦只会加剧供应商无法控制的现有延误和风险。值得庆幸的是,供应链专业人员可以通过端到端的供应链自动化消除延迟,简化与合作伙伴的沟通…...
![](https://www.ngui.cc/images/no-images.jpg)
Mysql更新时间列只改日期为指定日期不更改时间
场景 Mysql分表后同结构不同名称表之间复制数据以及Update语句只更新日期加减不更改时间: Mysql分表后同结构不同名称表之间复制数据以及Update语句只更新日期加减不更改时间_霸道流氓气质的博客-CSDN博客 上面通过如下方式实现日期列增加指定天数。 UPDATE bus…...
![](https://img-blog.csdnimg.cn/img_convert/187b99fb5b85f2f7ae5822aa1f6fb756.png)
实时测试工具 Visual Studio 扩展 NCrunch 4.18 Crack
NCrunch Visual Studio 扩展 .NET 的终极实时测试工具 在编码时查看实时测试结果和内联指标。 下载v4.18 发布于 2023 年 7 月 17 日 跳过视频至: 代码覆盖率 指标 分布式处理 配置 发动机模式 Visual Studio 自动并发测试 NCrunch 是一个完全自动化的测试扩展&a…...
![](https://www.ngui.cc/images/no-images.jpg)
Neo4j 基本语法
一、基本语法 1、新建节点 (1)基本语法: () 代表节点 示例: CREATE (u:User {uid:970939424 }) // 节点类型为User,属性值为uid970939424CREATE (u:Round {rid:7194842697444819113 }) // 节点类型为Rou…...
![](https://www.ngui.cc/images/no-images.jpg)
docker常见面试题
1.什么是docker docker是一个容器化平台,类似于一个集装箱,集装箱与集装箱之间互不影响,docker平台就是一个软件集装箱平台,我们可以构建应用程序,将其所有的依赖打包到一个容器中,然后就很方便的可以在其…...
![](https://img-blog.csdnimg.cn/7711e96e079e4af2b1afdca92a290863.png)
静态路由:配置和使用详解
文章目录 一、静态路由的配置和使用详解1. 配置要点1.1 点到点接口配置1.2 以太网接口配置 2. 默认路由3. 静态路由的配置命令4. 静态路由实现路由备份和负载分担 二、静态路由的优先级和比较1. 静态路由的优先级设置2. 静态路由与动态路由的比较2.1 静态路由优缺点2.2 动态路由…...
![](https://www.ngui.cc/images/no-images.jpg)
玩转Mysql系列 - 第15篇:详解视图
这是Mysql系列第15篇。 环境:mysql5.7.25,cmd命令中进行演示。 需求背景 电商公司领导说:给我统计一下:当月订单总金额、订单量、男女订单占比等信息,我们啪啦啪啦写了一堆很复杂的sql,然后发给领导。 …...
![](https://www.ngui.cc/images/no-images.jpg)
0065__git fetch, git pull, git merge, git rebase
git fetch, git pull, git merge, git rebase_git pull和merge_送你一朵小莲花的博客-CSDN博客...
![](https://www.ngui.cc/images/no-images.jpg)
AJAX学习笔记4解决乱码问题
AJAX学习笔记3练习_biubiubiu0706的博客-CSDN博客 在Tomcat10来说,AJAX GET或者POST接收响应都不存在乱码问题 对于Tomcat9来说 前端测试代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>测试A…...
![](https://www.ngui.cc/images/no-images.jpg)
【23种设计模式】享元模式【⭐】
个人主页:金鳞踏雨 个人简介:大家好,我是金鳞,一个初出茅庐的Java小白 目前状况:22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作 我的博客&am…...
![](https://www.ngui.cc/images/no-images.jpg)
语音信号的仿真原理
利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB软件 平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频 谱分析,设计合适的滤波器滤除噪声,恢复原信号。语音信…...
![](https://img-blog.csdnimg.cn/img_convert/35c63ea01c701e51ebdc148813319e59.png)
购物网站怎么做优化/做网页设计的软件
BOSS简历模板是一个非常好用的手机求职软件,用户们能够通过这款软件来为自己定制各种优势的简历,帮助用户们轻松找到更多适合自己的工作,这里的简历模板非常丰富,让用户们可以在这里获取更多优秀的简历,这样才能够更好…...
![](/images/no-images.jpg)
免费外贸网站模板下载/正规网站优化推广
linux内核是一个整体是结构。因此向内核添加任何东西。或者删除某些功能 ,都十分困难。为了解决这个问题。引入了内核机制。从而可以动态的想内核中添加或者删除模块。模块不被编译在内核中,因而控制了内核的大小。然而模块一旦被插入内核,他就和内核其他部分一样。这样一来 就…...
![](https://images0.cnblogs.com/blog/272948/201303/17210631-2bcf77bae0aa4d72b64f83ad2a8b9a0d.jpg)
番禺做网站哪家强/百度推广四川成都地区服务中心
openfire以会话的方式描述通信过程,包括ClientSession上述继承类等。 ClientSession:Represents a session between the server and a client.(客户端-服务器) LocalSession:The session represents a connection betw…...
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
软件开发培训学校的三大特色/seo优化网站百度技术
题意:有m个1~n的映射,而且对于任意的 i 满足 f1(f2(...fm(i))) i 其中有些映射是知道的,有些是不知道的,问一共有多少种置换的组合。 分析: 首先这些置换一定是1~n的一个置换(也就是1~n的一个排列)才行,因…...
![](/images/no-images.jpg)
wordpress前端上传头像/百度运营推广
是根据GDC 2017上的演讲Overwatch Gameplay Architecture and Netcode视频翻译而来的,所以并没有原文。由于是个一小时的演讲,不可能讲得面面俱到,所以理解起来有些困难,我反复读了三遍,然后把英文视频找来(…...
![](/images/no-images.jpg)
展示型网站设计案例/bing搜索引擎下载
从以下几个方面来回答这个问题:为什么会有延迟这个问题要从Virtual Dom说起,Vue的使用者只负责处理状态就行了,真正的页面渲染都交给Virtual Dom来做。并不是我们做的每一次状态修改都会立即触发页面Viritual Dom,会等主任务执行完…...