服务(第十八篇)mysql-索引、事务、存储引擎

news2024/9/27 15:30:00

索引:

相当于一本书的目录。

作用:①对字段进行升序排序  ②加快表的查询速度
副作用:①索引会额外占用磁盘空间  ②更新有索引的表效率很慢

使用场景:
①在没有索引查询某行数据,需要扫描全表定位到某行数据
②有索引,在后面的查询条件的字段,找到其索引对应的行数据的物理地址,根据物理地址查询数据;

索引的五种类型:

①普通索引:create index 索引名  on xxx(字段);     
                      alter table xxx add index 索引名 (字段);
②唯一键索引:create unique index 索引名 on xxx(字段);     
                         alter table xxx add unique 索引名;
③主键索引:alter table xxx primary key (字段);
④组合索引:create index 索引名  on xxx(字段);     
                      alter table xxx add index 索引名 (字段);
查询时:select * from 表名 where 字段1_字段2...;
⑤全文索引:create fulltext index 索引名  on xxx(字段);     
                   alter table xxx add fulltext 索引名 (字段);
查看:select 字段 from xxx where match(remark字段) against('查询内容')可以加%相当于*一样

 

查看索引:
①show keys from 表名;
②show index from 表名;
③show create table 表名\G;

删除索引:
①drop index 索引名  on 表名;
②alter table 表名 drop index  索引名;

 

事务:

事务是一种机制,一个操作序列(一组操作命令),事务会把所有命令当作一个整体向系统提交或撤销操作,要么都执行,要么都不执行。

事务的ACID特性:

①原子性:事务管理的基础。把事务看成是一个不可分割的工作单位,要么都执行,要么都不执行
②一致性:事务管理的目的。让事务开始前和事务结束后保证数据的完整和一致
③隔离性:事务管理的手段。使多个事务并发操作同一个表数据时,每个事务都有各自的数据空间,通过隔离级别解决不同的一致性问题
        隔离级别:未提交读RU  提交读RC  可重复读RR  串行读Serializable(相当于表级锁定)
④持久性:事务管理的结果。当事务被提交以后,命令修改的结果会被永久保持,不会被回滚。

事务开始:begin;

事务提交:commit;

回滚:rollback;

设置回滚点:savepoint xx; 回滚到回滚点:rollback to xx;

查看事务提交设置:
show variables like 'autocommit';

 可以在配置文件中去修改事务提交的情况:

set autocommit=0/1;

存储引擎:

常用的有两种存储引擎:innodb和myisam;

他们的区别:

innodb:支持事务和外键约束,5.5版本后支持全文索引,支持行锁定,数据和索引存储在一个文件中,读写性能好,缓存能力较好可以减少磁盘IO的压力。使用场景:适用于一致性要求较高,数据频繁更新,高并发读写的业务场景。

myisam:不支持事务和外键约束,支持全文索引,支持表锁定,数据和索引存储分开存储中,读写性能一般(可以单独的读和写)。使用场景:适用于不需要事务处理,单独的查询或插入数据的业务场景。

修改存储引擎:

① alter table 表名 engine=MyISAM/InnoDB; (针对于已经存在的表)

查看存储引擎:

② 修改mysql配置文件中的默认存储引擎配置 (针对于新建的表)

[mysqld]
default-storage-engine=MYISAM/InnoDB 

③ create table 表名 (...) engine=MyISAM/InnoDB;      新建表时指定存储引擎

查看mysql支持的存储引擎
show engines;

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【876. 链表的中间结点】

Leetcode 876. 链表的中间结点 给你单链表的头结点 head ,请你找出并返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:head [1,2,3,4,5] 输出:[3,4,5] 解释:链表只有一…

第三章数据链路层

1.数据链路层的概述 1.0地位 数据链路层在网络体系结构中所处的地位 链路(Link)就是从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。数据链路(Data Link)是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路。数据链路层以帧…

Word中同一行文字 左边居左,右边居右,并且居右的文字加长也不换行

本文将的不是Java知识,是Word格式问题。 如图,想实现下面Word中,同一行文字红色框内的居左显示,蓝色框内的居右显示: 步骤: 1.选中要居右显示的文字,点击左上角的小直角标志,选择右…

FS2116A升压IC

FS2116A升压输出12V电流1.5A芯片IC,支持3.7V升压5V3.6A,3.7V升压9V2A,3.7V升压12V1.5A,和两串锂电池7.4V升压 6V3.6A,两串锂电池7.4V升压12V2.5A输出功率。支持宽输入电压,外围少,效率高。7.4V或者8.4V电压…

mysql的存储函数与存储过程

1. 存储过程概述 我们前面所学习的 MySQL 语句都是针对一个表或几个表的单条 SQL 语句,但是在数据库的实际操作中,经常会有需要多条 SQL 语句处理多个表才能完成的操作。例如,为了确认学生能否毕业,需要同时查询学生档案表、成绩…

什么是机房UPS?一文带您了解!

什么是机房UPS? 机房UPS是指专门为机房等大型计算机设施设计的不间断电源。它通常由高性能的电池组、充电器、逆变器、静态开关、监控系统和管理软件等组成,能够为计算机设备提供稳定、可靠的电源保障。 机房UPS的作用 机房UPS的作用主要是两方面: 1…

【负载均衡式的在线oj(2.oj_server模块)】

🎉实战项目:负载均衡式在线OJ 博主主页:桑榆非晚ᴷ 博主能力有限,如果有出错的地方希望大家不吝赐教 给自己打气:成功没有快车道,幸福没有高速路。所有的成功,都来自不倦地努力和奔跑&#xf…

rtl仿真器-verilator安装和测试

安装 查看官网安装说明页 https://verilator.org/guide/latest/install.html 1.ubuntu 源已经加好了,直接用命令安装 2. 编译源码安装: sudo apt-get install git perl python3 make autoconf g flex bison ccache sudo apt-get install libgoogle-perf…

FPN和PAN的内容及区别

FPN和PAN都是用于解决在目标检测中特征金字塔网络(FPN)在多尺度检测任务上的不足的方法。下面分别详细介绍一下它们的原理和区别。 FPN FPN全称Feature Pyramid Network,是由FAIR在2017年提出的一种处理多尺度问题的方法。FPN的主要思路是通过构建金字塔式的特征图…

Hadoop入门篇02---HDFS学习与简单使用

Hadoop入门篇02---HDFS学习与简单使用 存储系统概念认识硬盘,RAID小结 存储架构DAS,NAS,SAN对比 文件系统 大数据存储大数据存储面临的问题如何解决小结 HDFSHDFS的起源和发展HDFS的设计目标HDFS的应用场景HDFS的特性命令行实践常用命令 Java客户端API使…

双向带头循环链表

双向带头循环链表 1.前言2.带头双向循环链表的初始化3.创建一个哨兵位头节点4.链表的打印5.malloc函数创建节点5.链表的尾插6.链表的尾删7.链表的头插8.链表的头删9.链表的查找10.链表任意位置插入(在给点定位置的前面插入)11.链表任意位置删除12.空间释…

IPWorks Bluetooth ! IPWorks BLE 2022 C++ Edition Crack

蓝牙库-IPWorks Bluetooth ! IPWorks BLE 2022 C Edition 一个蓝牙低功耗组件库,提供对 BLE 操作的直接访问。IPWorks BLE 组件提供简单的服务发现和对支持 BLE 的设备的访问。 最新的 IPWorks BLE 现已推出!最新版本的 IPWorks BLE 具有现代化和简化的…

【MySQL】MySQL 知识点总结

文章目录 前言关系型数据库和非关系型数据库关系型数据库非关系型数据库关系型数据库与非关系型数据库之间的区别 MySQL整体架构SQL 的执行步骤MySQL 的架构图示连接器分析优化和执行查询缓存分析器优化器&执行器 存储引擎MyISAM和InnoDB的区别 事务事务的四大特性隔离级别…

【电动车】基于双层凸优化的燃料电池混合动力汽车研究(Matlab代码实现)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清…

聚观早报 | 巴菲特后悔减持苹果;羊了个羊侵害用户权利被通报;

今日要闻:巴菲特两年前减持苹果是个愚蠢的决定;羊了个羊侵害用户权利被通报;英特尔预计二季度营收同比下滑;陆奇最称中国要先赶上GPT-3.5;任天堂对GitHub展开大规模DMCA行动 巴菲特两年前减持苹果是个愚蠢的决定 在伯…

【Linux】Redis数据库、实例项目搭建redis服务器环境下mysql实现la/nmp架构缓存

一、Redis简介 Redis 是当前互联网世界最为流行的 NoSQL(Not Only SQL)数据库。NoSQL 在互联网系统中的作用很大,因为 它可以在很大程度上提高互联网系统的性能。 Redis 具备一定持久层的功能,也可以作为一种缓存工具。对于 NoSQL…

【论文复现】基于区块链的分布式光伏就地消纳交易模式研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

盖雅案例入选「首届人力资源服务国际贸易交流合作大会20项创新经验」

近日,首届人力资源服务国际贸易交流合作大会顺利召开。为激励企业在人力资源服务贸易领域不断创新,加快培育对外贸易新业态、新模式,形成人力资源服务领域国际竞争新优势,大会评选出了「首届人力资源服务国际贸易交流合作大会20项…

第2天学习——Docker安装

一、前言 Docker 是一个用于开发、传送和运行应用程序的开放平台。Docker 使您能够将应用程序与基础设施分开,以便您可以快速交付软件。使用 Docker,您可以像管理应用程序一样管理基础设施。通过利用 Docker 的快速交付、测试和部署代码的方法&#xff0…

sqli-labs通关(十四)(十五)(十六)

第十四关 输入1",出现如下报错信息,告诉我们要双引号闭合 所以我们输入 1" or 11# 没有任何返回信息,这一关和十三关一样,利用报错信息爆出数据 1" and extractvalue(1,concat(0x7e,(select database())))# 第十五关 输入1是这…