mysql查看以及建立索引

现在mysql中有一张表journal_update_logs,数据量比较大,有3000多万条数据,现在查询比较慢,需要建立索引。
第一步,查看该表的索引:
SHOW INDEX FROM journal_update_logs;
在这里插入图片描述
每张表都会有原始的主键索引PRIMARY,下面的索引是我后面加的,date_range_index是日期的范围索引,如果需要查询某个时间段内的记录,并且字段是日期类型,建立一个日期范围查询的索引会比较好。对于日期类型的字段,通常建议使用 B-Tree 索引,因为 B-Tree 索引适合范围查询,能够快速定位到指定范围内的记录。
举个例子,假设你有一个表 your_table,其中包含一个日期类型的字段 date_column,你想要查询某个时间段内的记录,可以创建如下索引:
CREATE INDEX date_range_index ON your_table (date_column);

后面两个为复合索引,一条sql中需要查询article_title以及pub_date,可以为他们创建复合索引:
创建方式:
CREATE INDEX idx_article_title_pub_date ON journal_update_logs (article_title, pub_date);

需要注意的是::MySQL 不允许在包含 BLOB、TEXT 或者 VARCHAR 列上创建索引时使用索引长度限制。因此,如果 article_title 列是 BLOB、TEXT 或者 VARCHAR 类型,那么不能直接为该列创建一个复合索引。不然会报错:BLOB/TEXT column ‘article_title’ used in key specification without a key length

解决此问题的一种方法是在创建索引时为 BLOB、TEXT 或者 VARCHAR 类型的列指定一个前缀长度。这样,就可以为这些列创建一个索引。下面是一个示例,演示了如何为 BLOB、TEXT 或者 VARCHAR 类型的列创建一个带有前缀长度的索引:
CREATE INDEX idx_article_title_pub_date ON journal_update_logs (article_title(255), pub_date);

**第二步:**创建索引

现在通过createtime查询:这个字段没有索引:查询花费27秒:
在这里插入图片描述
为该字段创建索引:
在这里插入图片描述
再次运行,可以看到2.5秒就完成了查询,几乎提升了10倍的速度
在这里插入图片描述

以下是索引的一些类型:
1、唯一索引:这将为指定字段创建一个唯一索引,确保该字段中的值在整个表中是唯一的。

CREATE UNIQUE INDEX index_name ON your_table_name (your_column_name);

2、全文索引:这将为指定字段创建一个全文索引,用于支持全文搜索功能。

CREATE FULLTEXT INDEX index_name ON your_table_name (your_column_name);

3、复合索引:这将为多个字段创建一个复合索引,以支持多列查询。

CREATE INDEX index_name ON your_table_name (column1, column2);

4、空间索引:这将为指定的空间数据字段创建一个空间索引,用于支持地理空间数据查询。

CREATE SPATIAL INDEX index_name ON your_table_name (your_column_name);

5、组合索引:这将为多个字段创建一个组合索引,并指定索引类型为 B-树(BTREE)。

CREATE INDEX index_name ON your_table_name (column1, column2) USING BTREE;

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

傅立叶之美:深入研究傅里叶分析背后的原理和数学

一、说明 T傅里叶级数及其伴随的推导是数学在现实世界中最迷人的应用之一。我一直主张通过理解数学来理解我们周围的世界。从使用线性代数设计神经网络,从混沌理论理解太阳系,到弦理论理解宇宙的基本组成部分,数学无处不在。 当然&#xff0c…

叶顺舟:手机SoC音频趋势洞察与端侧AI技术探讨 | 演讲嘉宾公布

后续将陆续揭秘更多演讲嘉宾! 请持续关注! 2024中国国际音频产业大会(GAS)将于2024年3.27 - 28日在上海张江科学会堂举办。大会将以“音无界,未来(Audio, Future)”为主题。大会由中国电子音响行业协会、上…

报告合集 |2023年,5份必读的“数字孪生”行业报告合集(文末下载)

数字孪生正在快速改变多个行业的面貌。它通过创建物理世界对象的虚拟复制,使得数据分析和系统优化能够在数字空间中实现,正在制造业、城市规划、医疗保健等国家支柱行业展现出巨大的变革力量,为行业的智能决策和预测提供了强大的支撑。 作为…

mysql重构

力扣题目链接 列转行 SELECT product_id, store1 store, store1 price FROM products WHERE store1 IS NOT NULL UNION SELECT product_id, store2 store, store2 price FROM products WHERE store2 IS NOT NULL UNION SELECT product_id, store3 store, store3 price FROM p…

基于大数据与时间序列预测的的书籍数据分析(内含spark+hive+mysql+kettle+echart+tensorflow)

目录 一,绪论 1、项目背景: 2、目标: 3、用户群体: 二.相关开发技术介绍 (一)后端相关技术 1.sparkSQL简介 2.kettle简介 3.tensorflow简介 (二)前端相关技术 1.HTML简介…

【Python】新手入门学习:详细介绍依赖倒置原则(DIP)及其作用、代码示例

【Python】新手入门学习:详细介绍依赖倒置原则(DIP)及其作用、代码示例 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、Py…

MySQL索引原理及慢查询优化

背景 MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上…

【话题】2024年AI辅助研发趋势,有那些应用领域

大家好,我是全栈小5,欢迎阅读文章! 此篇是【话题达人】系列文章,这一次的话题是《2024年AI辅助研发趋势》 目录 背景概念实践医药领域汽车设计领域展望未来文章推荐 背景 随着人工智能技术的持续发展与突破,2024年AI辅…

使用CryptoJs对开发中的参数进行加密

场景描述 在开发程序中,我们无时无刻不在接受第三方的一些token,比如我们申请了地图软件的一些定位、导航功能,第三方会给予我们appid还有app secret作为访问他们服务的凭证,大部分时候我们会将求这些登陆凭证放在env文件中&…

uniapp发行H5获取当前页面query

阅读uni的文档大致可得通过 onLoad与 onShow()的形参都能获取页面传递的参数,例如在开发时鼠标移动到方法上可以看到此方法的简短介绍 实际这里说的是打开当前页面的参数,在小程序端的时候测试并无问题,但是发行到H5时首页加载会造成参数获取…

怎样基于“用户”思维让内容营销更有效

当下互联网流量见顶,内容已经成为互联网竞争新的制高点,可以说在数字化驱动的新时代下,“内容为王”仍然是真理。然后信息泛滥的时代下,如何让内容营销脱颖而出呢?媒介盒子认为“用户思维”是关键,今天就和…

C/C++中strcpy,strcat,strstr以及strncpy,strncat,strncmp的使用

1、首先我们来介绍strcpy的使用从这个函数的名字来看它应该是属于字符串的拷贝,string copy。 那么这个函数是怎么用的呢?下面我么来介绍她的基本结构。 char * strcpy ( char * destination, const char * source );由上述可知它需要两部分 一个是目标字…

操作系统——进程

1.什么是进程 概念: 进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动,是系统进行资源分配和调度的一个独立单位。 进程是程序的依次执行 进程是一个程序及其数据在处理机上顺序执行时所发生的活动 进程是程序在一个数据集合上运行的过…

[剪藏] - 由哇哈哈和农夫山泉所想到的

哇哈哈和农夫山泉的缠斗最近冒出来一个有趣的点:营销大于内容的胜利。 具体来说是这样的:农夫山泉很多年前做广告,说纯净水没有矿物质,长期喝是不利于人体健康的。农夫还做了个营销的对比实验,大概是用矿泉水养水仙花&…

CMDB在IT管理中的重要性

Configuration Management Database(CMDB)即配置管理数据库,在当前企业的IT运维管理中扮演着重要的角色。CMDB是一个包含了企业所有设备、软件和服务配置信息的中心数据库,通过有效地管理这些配置数据,能够为企业提供全…

AIX7.2下安装mysql5.1.73数据库

首先需要现在AIX版本的mysql安装包以及相关的依赖包 依赖关系deps文件下载地址: Index of /download/rpmdb/deplists/aix72 对应的rpm包下载地址: Index of /download/everything/RPMS 我们需要下载的mysql安装包主要有 mysql-5.1.73-1.ppc mysql…

WanAndroid(鸿蒙版)开发的第五篇

前言 DevEco Studio版本:4.0.0.600 WanAndroid的API链接:玩Android 开放API-玩Android - wanandroid.com 其他篇文章参考: 1、WanAndroid(鸿蒙版)开发的第一篇 2、WanAndroid(鸿蒙版)开发的第二篇 3、WanAndroid(鸿蒙版)开发的第三篇 …

SpringBoot(接受参数相关注解)

文章目录 1.基本介绍2.PathVariable 路径参数获取信息1.代码实例1.index.html2.ParameterController.java3.测试 2.细节说明 3.RequestHeader 请求头获取信息1.代码实例1.index.html2.ParameterController.java3.测试 2.细节说明 4.RequestParameter 请求获取参数信息1.代码实例…

PMP成绩判定标准是什么?

2024年3月10日的PMP考试已经结束,不知道大家考得怎么样,对于考试难度有没有值得分享或者吐槽的?可以发出来大家交流一下~ 一、3月PMP考试成绩什么时候出? 按照往期考试成绩发布时间,基本在考后6-8周会出成绩&#xf…

扩展资料主机名到IP地址的有两种方式:DNS

中国联通的DNS地址有两种。 主 DNS 为“210.21.4.130”,备用 DNS 为“221.5.88.88”。 每个 IP 地址可以有一个主机名。 主机名由一串或多串字符组成。 用小数点分隔字符串。 对于中国联通宽带用户,主DNS设置为:210.21.4.130,备用…