当前位置: 首页 > news >正文

MySQL之索引创建、删除、唯一索引、普通索引、及命名规则、注意事项

一、MySQL 索引 定义

索引是一个数据结构,用于加速数据库表中数据的查询。索引存储了一些数据表中的列值,以及这些列值在数据表中的位置,这样就可以通过索引来快速查找到数据表中的某一行数据。

MySQL 支持多种索引类型,包括普通索引唯一索引主键索引全文索引等。

使用索引可以大大加快查询速度,但同时也带来了一些开销,因为维护索引需要额外的存储空间和时间

二、索引语句

  • 查看某张表索引

    show index from account;
    
  • 删除某个索引

    drop index idx_name on talbe_name;
    alter table table_name drop index idx_name;
    
  • 创建普通索引

    create index idx_name on table_name (column_1, column_2, ...);
    create index idx_email on account (email);alter table table_name add index index_name (column_1, column_2, ...)
    alter table account add index idx_email (email);
    
  • 创建普通索引

    create unique index uniq_name on table_name (column_1, column_2, ...);
    create unique index uniq_email on account (email);alter table table_name add unique uniq_name (column_1, column_2, ...);
    alter table account add unique uniq_email (email);
    
  • 创建全文索引(是一种特殊类型的索引,用于对文本数据进行全文搜索。它可以对文本数据进行分词,并为每个分词建立索引,以支持快速检索数据)

    alter table table_name add fulltext index idx_name (column_1, column_2, ...);
    

创建索引注意事项

  • 索引列应该是经常被查询和排序的列。
  • 尽量选择具有唯一值的列作为索引列,因为这样可以提高索引的效率。
  • 索引列的数据类型应该尽量简单,例如整数或字符串,而不是复杂的数据类型,如日期和时间。
  • 如果索引列的长度较长,应该选择前面的一部分作为索引。
  • 不要对大量重复的列创建索引,因为这样可能会导致索引变得很大,并降低性能。
  • 避免创建太多的索引:如果表中有太多的索引,那么插入、更新和删除操作可能会变慢。
  • 尽量避免对于 NULL 值的列创建索引:如果列中有大量的 NULL 值,那么索引可能会变得非常大,从而降低查询性能。
  • 避免在多个列上创建组合索引,除非它们经常被查询和排序。
  • 需要注意的是,创建索引可以提高查询性能,但是也会增加表的大小,因此应根据需要选择是否创建索引。

相关文章:

MySQL之索引创建、删除、唯一索引、普通索引、及命名规则、注意事项

一、MySQL 索引 定义 索引是一个数据结构,用于加速数据库表中数据的查询。索引存储了一些数据表中的列值,以及这些列值在数据表中的位置,这样就可以通过索引来快速查找到数据表中的某一行数据。 MySQL 支持多种索引类型,包括普通…...

【C++设计模式】学习笔记(3):策略模式 Strategy

目录 简介动机(Motivation)模式定义结构(Structure)要点总结笔记结语简介 Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金…...

Java——聊聊JUC中的ThreadLocal

文章目录: 1.什么是ThreadLocal? 1.1 api介绍 1.2 最简单的案例认识ThreadLocal 1.3 线程池结合ThreadLocal案例 2.Thread &ThreadLocal & ThreadLocalMap 3.ThreadLocal内存泄漏问题 3.1 四大引用之强引用 3.2 四大引用之软引用 3.3 四…...

软件工程(4)--螺旋模型

前言 这是基于我所学习的软件工程课程总结的第四篇文章。 在软件开发过程中必须及时识别和分析风险,并且采取适当措施以消除或减少风险的危害。构建原型是一种能使某些类型的风险降至最低的方法。为了降低交付给用户的产品不能满足用户需要的风险,一种行…...

图解LeetCode——剑指 Offer 50. 第一个只出现一次的字符

一、题目 在字符串 s 中找出第一个只出现一次的字符。如果没有&#xff0c;返回一个单空格。 s 只包含小写字母。 二、示例 2.1> 示例 1: 【输入】s "abaccdeff" 【输出】b 2.2> 示例 2: 【输入】s "" 【输出】 限制&#xff1a; 0 < s 的…...

《HTML 5与CSS 3核心技法》读书笔记

目录前言第1章 写在前面第2章 HTML 语法基础第3章 布局类元素 &#xff0c;房子的楼板、柱子和大梁第4章 功能类元素&#xff0c;房子的门、窗、水管和电气第5章 CSS基础第6章 选择器&#xff0c;确定样式的作用范围选择器类型选择器的组合使用第7章 权重&#xff0c;样式发送冲…...

【沐风老师】3DMAX几何投影插件Geometry Projection使用详解

【几何投影插件】 描述 3DMAX几何投影插件Geometry Projection&#xff0c;将一个或多个对象或它的顶点选择沿全局或局部 x、y 或 z 轴投影到另一个对象上。 适用版本 3dMax2013或更高版本 安装设置 插件的安装非常简单&#xff0c;解压后把插件脚本 “geometry_projectio…...

面试问题整理

20200422面试题 1、有nginx为什么还要用gateway 2、factorybean和beanfactory有什么区别 https://www.cnblogs.com/leeego-123/p/12159574.html 2、aop原理 3、ioc原理 4、注解requestbody和responsebody区别。pathvireable和requestparam注解区别&#xff0c;feign客户端的注解…...

“区块链60人”2022赋能中国区块链创新人物名单公布

2022年11月5日&#xff0c;“2022第五届全国高校人工智能大数据区块链教育教学创新论坛”在京隆重召开。此次论坛公布了“区块链60人”2022赋能中国区块链创新人物评选活动获评名单。 本次评选活动通过媒体报道、第三方推荐、专家评选等环节&#xff0c;坚持“公开、公平、公正…...

day2324 数组

文章目录相关概念codeArrayTest08 数组拷贝相关概念 day23课堂笔记 1、数组 1.1、数组的优点和缺点&#xff0c;并且要理解为什么。 第一&#xff1a;空间存储上&#xff0c;内存地址是连续的。 第二&#xff1a;每个元素占用的空间大小相同。 第三&#xff1a;知道首元素的内…...

【Python实战】神仙运气—快看看你的彩票:2千多万元大奖无人领,马上就过期了,下一期的中奖者会是你吗?(纯技术交流)

前言 越努力越幸运 哈喽~我是栗子同学&#xff01; 特别注意&#xff1a;不管是沉迷赌球&#xff0c;还是沉迷购彩&#xff0c;都是不可取的。本文纯是一个技术学习内容。 听说关注我的人会暴富哦&#xff01;、 所有文章完整的素材源码都在&#x1f447;&#x1f447; 粉丝…...

2023年上半年软考高项信息系统项目管理师2月25日开班

信息系统项目管理师是全国计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试&#xff08;简称软考&#xff09;项目之一&#xff0c;是由国家人力资源和社会保障部、工业和信息化部共同组织的国家级考试&#xff0c;既属于国家职业资格考试&#xff0c;又是职称资…...

数据库(第一天)

文档信息 文档类别正式文档文档编号数据库基础课 1.2-001版本1.2-001文档名称数据库基础课编写负责人/编写时间梁昭东/2023 年 1 月 30 日审核负责人/审核时间年 月 日批准人/批准时间年 月 日 变更记录 日期版本号变更内容修订者2023.01.30v1.2版根据实际情况增删了部分内容…...

一文了解 ArrayList 的扩容机制

了解 ArrayList 在 Java 中常用集合类之间的关系如下图所示&#xff1a; 从图中可以看出 ArrayList 是实现了 List 接口&#xff0c;并是一个可扩容数组&#xff08;动态数组&#xff09;&#xff0c;它的内部是基于数组实现的。它的源码定义如下&#xff1a; public class A…...

牛态已成选股源码

{牛态已成} {条件选股} {其他类型} N:7; A1:(REF(H,N) HHV(H,((2 * N) 1))); B1:FILTER(A1,N); C1:BACKSET(B1,(N 1)); D1:FILTER(C1,N); A2:(REF(L,N) LLV(L,((2 * N) 1))); B2:FILTER(A2,N); C2:BACKSET(B2,(N 1)); D2:FILTER(C2,N); E1:((REF(LLV(L,(2 * N)),1) REF(…...

Python基础

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python 的设计具有很强的可读性&#xff0c;相比其他语言经常使用英文关键字&#xff0c;其他语言的一些标点符号&#xff0c;它具有比其他语言更有特色语法结构。小编也整理了一套关于学习Python入门…...

浅显易懂的说清楚小游戏与H5游戏的技术区别

从“跳一跳”到“羊了个羊”微信小游戏上线4年时间&#xff0c;除了涌现出不少火爆全网的小游戏之外&#xff0c;也有类似于“动物餐厅”、“口袋奇兵”等游戏得以在此孵化繁荣&#xff0c;凭借着微信强大的社交属性小游戏成为游戏厂商在桌面端、App 端、H5 端之外争夺的另一个…...

【Python入门第七天】Python 数字

Python 数字 Python 中有三种数字类型&#xff1a; intfloatcomplex 为变量赋值时&#xff0c;将创建数值类型的变量&#xff1a; 实例 x 10 # int y 6.3 # float z 2j # complex如需验证 Python 中任何对象的类型&#xff0c;请使用 type() 函数&#xff1a; 实…...

Python自动化测试 软件测试最全教程(附笔记),看完可就业

最近看到很多粉丝在后台私信我&#xff0c;叫我做一期Python自动化测试的教程&#xff0c;其实关于这个问题&#xff0c;我也早就在着手准备了&#xff0c;我录制了一整套完整的Python自动化测试的教程&#xff0c;都上传在B站上面&#xff0c;大家有兴趣的可以去看一下&#x…...

Windows 安装Tomcat

版本:tomcat8.5jdk-8u231一.解压JDK安装包 更换JDK安装路径二.解压安装Tomcat 选择jdk安装路径更换tomcat安装路径三.设置环境变量 1.“环境变量”界面中系统变量点击”新建“&#xff0c;创建CATALINA_HOMEC:\RESSET\tomcat&#xff08;Tomcat服务器的根目录&#xff09;2.创建…...

知识图谱业务落地技术推荐之图数据库汇总

0.图数据库排名 链接:https://db-engines.com/en/ranking/graph+dbms 0.1简要分析(各种图数据库属性) Neo4j(主流) 历史悠久且...

2023新华为OD机试题 - 最小传递延迟(JavaScript) | 刷完必过

最小传递延迟 题目 通讯网络中有N个网络节点 用1 ~ N进行标识 网络通过一个有向无环图进行表示 其中图的边的值,表示节点之间的消息传递延迟 现给定相连节点之间的延时列表times[i]={u,v,w} 其中u表示源节点,v表示目的节点,w表示u和v之间的消息传递延时 请计算给定源节点到…...

SpringMVC基础入门(一)之理论基础概念

文章目录SpringMVC1.概念2.常用注解请求与响应1.请求参数2.JSON传输3.常用注解响应1.响应页面2.响应JSON数据Rest风格1.介绍2.常用注解SpringMVC 1.概念 &#xff08;1&#xff09;定义 SpringMVC是一种基于Java实现MVC模型的轻量级Web框架。 &#xff08;2&#xff09;为什…...

前端知识点

一. slice和splice区别&#xff1a; 1.splice改变原数组&#xff0c;slice不改变原数组。 2.splice除了可以删除之外&#xff0c;还可以插入。 3.splice可传入3个参数&#xff0c;slice接受2个参数。slice(start,end)&#xff1a;方法可从已有数组中返回选定的元素&#xff0c…...

【docker知识】从容器中如何访问到宿主机

一、说明 使用 Docker 能实现服务的容器化&#xff0c;并使用容器间网络在它们之间进行通信。有时您可能需要一个容器来与宿主机上非容器化的服务通信。以下是如何从 Docker 容器中访问本地主机或 127.0.0.1的具体方法。 二、方法1&#xff1a;简单的选择 适用于 Windows 和 Ma…...

MySQL入门篇-MySQL常用流程控制函数小结

备注:测试数据库版本为MySQL 8.0 这个blog我们来聊聊常见的流程控制函数 如需要scott用户下建表及录入数据语句&#xff0c;可参考:scott建表及录入数据sql脚本 流程控制函数 函数名函数用途CASEcase语句用于条件判断if()if/else条件判断ifnull()null数据处理nullif()retur…...

大数据技术架构(组件)35——Spark:Spark Streaming(1)

2.3、Spark Streaming2.3.0、OverviewSpark Streaming 是核心 Spark API 的扩展&#xff0c;它支持实时数据流的可扩展、高吞吐量、容错流处理。数据可以从许多来源&#xff08;如 Kafka、Kinesis 或 TCP 套接字&#xff09;获取&#xff0c;并且可以使用复杂的算法进行处理&am…...

实现超大文件上传逻辑

引言 文件上传功能是我们开发中经常会遇到的功能点,当日常开发中遇到小文件&#xff08;比如&#xff1a;头像&#xff09;&#xff0c;可以直接将文件转为字节流直接上传到服务器上即可。但是当遇到大文件这种&#xff08;比如&#xff1a;一部电影至少1个G&#xff09;该怎么…...

JavaScript HTML DOM EventListener

JavaScript HTML DOM EventListener 是一个非常重要的概念&#xff0c;在前端开发中被广泛使用。它是用来监听 HTML DOM 上的事件&#xff0c;并执行特定的代码块。 EventListener 的语法非常简单&#xff0c;下面是一个示例代码&#xff1a; element.addEventListener("…...

构建RFID系统的重要组成部分

RFID读写设备&#xff0c;通常被用来扫描读取安装了RFID电子标签的目标物品&#xff0c;能实现快速批量无接触读写&#xff0c;是构建RFID系统的重要组成部分。RFID读写设备&#xff0c;通常有固定式读写设备和可移动读写设备两种。下面来了解一下RFID的特点&#xff0c;RFID系…...

怎么在新建网站上做分享代码/成都新一轮疫情

V8 JavaScript 团队宣布优化异步函数和 promises 对象。团队还提升了异步代码的调试体验&#xff0c;这也是 JavaScript 开发人员的共同痛点。正文V8 JavaScript 团队宣布优化了异步函数和 promises 对象。团队还提升了异步代码的调试体验&#xff0c;这也是 JavaScript 开发人…...

柳州市建设中心网站/c++线上培训机构哪个好

【秋游】 五颜六色花朵色&#xff0c;万紫千红秋天景。 谁言秋景只金黄&#xff0c;却道人间已换天。...

信息流广告视频/电脑优化是什么意思

本文用于自己记录&#xff0c;忘记时可以用来回顾。点击这里进入JQuerydatatable官网API地址 JQuery Datatables初始化 个人比较喜欢JQueryDatatables的Bootstrap4风格&#xff0c;所以文章以Bootstrap4风格为例。 JQueryDatatable的初始化很简单&#xff0c;按照官网的举例说明…...

如何做网站运营/北京学电脑的培训机构

docker run -t -i ubuntu:14.04 /bin/bash 新建并启动容器 -t 让Docker分配一个伪终端&#xff08;pseudo-tty&#xff09;并绑定到容器的标准输入上 -i 让容器的标准输入保持打开 -d 让容器在后台以守护态&#xff08;Deamonized&#xff09;形式运行 -v 创建一…...

个人房产查询系统网站官网/百度收录提交网站后多久收录

因为要讲座&#xff0c;随便写一下&#xff0c;等讲完有时间好好写一篇splay的博客。 先直接上题目然后贴代码&#xff0c;具体讲解都写代码里了。 参考的博客等的链接都贴代码里了&#xff0c;有空再好好写。 P2042 [NOI2005]维护数列 题目描述 请写一个程序&#xff0c;要求维…...

江西论坛/百度关键词seo外包

全球领先的射频解决方案设计制造厂商SkyCross日前宣布其面向LTE 和 Wi-Fi的双频iMAT(隔离模式天线技术)和 4x4MIMO(多输入多输出)解决方案能使配备高通骁龙 820 智能设备处理器的性能最大化。SkyCross 先进的 iMAT天线及方案已于2014年面市&#xff0c;并被用于超过一百万部商用…...