Mysql ------ 索引+ 事务
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,文章目录一、索引:(1)数据库索引:(2)索引的作用:(3)索引分类:(4)创建索引的原则依据:(5)创建索引的办法:二、事务:(1)事务概念:(2)事务的四大特性:(3)事务的操作:三、两表相连查询
千家信息网最后更新 2026年11月01日Mysql ------ 索引+ 事务
文章目录
一、索引:
(1)数据库索引:
(2)索引的作用:
(3)索引分类:
(4)创建索引的原则依据:
(5)创建索引的办法:
二、事务:
(1)事务概念:
(2)事务的四大特性:
(3)事务的操作:
三、两表相连查询:
一、索引:
(1)数据库索引:
1、在数据库中,索引使数据程序无须对整个表进行扫描,就可以在其中找到所需数据;
2、数据库中的索引是某个表中一列或者若干列值的集合,以及物理标识这些值的数据页的逻辑指针清单。
(2)索引的作用:
1、数据库能够大大加快查询速率;
2、降低数据库的 IO 成本,并且索引还可以降低数据库的排序成本;
3、通过创建唯一性索引保证数据表数据的唯一性;
4、加快表与表之间的连接;
5、分组和排序的时候,可以大大减少分组和排序时间
(3)索引分类:
1、普通索引 :最基本的索引类型,而且没有唯一性之类的限制;
2、唯一性索引 :与普通索引基本相似,区别在于,索引列的所有值都只能出现一次,即必须唯一;
3、主键 :主键是一种唯一性索引,必须指定为 " primary key " ;
4、全文索引 :mysql 从3.23.23版本开始支持全文索引和全文检索,在mysql 中,全文索引的索引类型为 fulltext ,全文索引可以在 varchar 或者 text 类型的列上创建;
5、单列索引与多列索引:索引可以是单列上创建的索引,也可以是在多列上创建的索引。
(4)创建索引的原则依据:
表的主键、外键必须有索引;
数据量超过 300 行的表应该有索引;
经常与其他表进行连接的表,在连接字段上应该建立索引;
唯一性太差的字段不适合建立索引;
更新太频繁的字段不适合创建索引;
经常出现在 where 子句中的字段,特别是大表的字段,应该建立索引;
索引应该建立在选择性高的字段上;
索引应该建立在小字段上,对于大的文本字段甚至超长字段,不要建立索引。
(5)创建索引的办法:
1、创建普通索引:
##创建普通索引create index 要定义索引名称 on 表名 (列名1,列名2....);##查看索引show index from info;##删除索引drop index index_age on info;例如,我们针对下面这张表,给年龄这列创建一个索引:


2、创建唯一性索引:
create unique index <索引的名字> on tablename(列的列表);##另种方式:更改表建构方式创建:alter table 表名 add index 索引名称 (列名);##第三种方式:可以在创建表的时候直接定义3、创建主键索引:
##在创建新表的时候creata table tablename ([..],primary key (列的列表));##在已有的表上设置一个alter table tablename add primary key (列的列表);4、创建全文索引:
create fulltext index 索引名称 on 表名(列的列表);5、创建组合索引:
create index 索引名称 on 表名 (列的列表1,列的列表2.....);6、查看索引:
show index from tablename; show keys from tablename;二、事务:
(1)事务概念:
简单的说就是把所有的命令作为一个整体一起提交或者撤销,要么一起都执行,要么一起都不执行。
(2)事务的四大特性:
1、原子性:所有元素都必须作为一个整体提交或回滚,任何元素失败,则整个事务都失败;
例如,我们平时下载软件等,如果中途遇到故障等导致安装失败,就会退回到安装软件前的状态。
2、一致性:事务开始之前,数据处于统一、一致的状态;事务完成之后,再次回到一致转态。
3、隔离性:所有并发事务彼此独立,互不相干、影响。
4、持久性:一旦事务被提交,就会被永久地保留在数据库中。
(3)事务的操作:
默认情况下,mysql 的事务都是自动提交的,当 sql 语句提交时事务便自动提交;
手动对事务进行控制的办法(事务处理命令控制或者使用 set命令控制):
1、事务处理命令控制事务:
begin :开始一个事务;
commit :提交一个事务;
rollback :回滚一个事务;
接下来,我们开始做回滚操作,想回到哪个节点,就回到那个存档点即可:
要想回滚到最初状态,直接使用 rollback 命令:
2、使用 set 命令进行控制:
set autocommit=0 :禁止自动提交;set autocommit=1 :开启自动提交;三、两表相连查询:
例如,下面有两张表,第一张名为 suer;第二种名为 hob,因为这两张表中有部分信息时相关联的,如何操作:
输入以下命令,将两张表相关联:
1、直接关联:
select * from user inner join hob on user.hobby=hob.id;2、还可以按条件关联:
select user.name,hob.name from user inner join hob on user.hobby=hob.id;
索引
事务
数据
字段
数据库
命令
唯一性
全文
控制
普通
名称
关联
一致
办法
方式
时候
状态
类型
排序
查询
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网和科技技术
互联网的科技
互联网与科技金融数据
互联网金融 科技金融
迪茉互联网科技
广州互联网络科技有限公司
有木互联网科技
菲比寻常互联网科技
西藏七维空间互联网科技有限公司
顶级互联网科技成果有哪些
互联网科技公司实习生
互联网5g黑科技有哪些
米聚互联网科技南京有限公司排面
互联网公司高科技产品
广州富喜互联网络科技
南京一网一红互联网科技有限公司
马化腾互联网科技教学
现代互联网科技公司
互联网科技创业计划的风险分析
伍佰万互联网科技是干嘛的
小米移动互联网科技园
深圳九邦互联网科技有限公司
互联网通讯科技
互联网 科技公司
央行互联网金融科技公司
互联网科技创新服务
黑科技闪耀互联网之光
民营互联网公司国防科技
富国互联网金融科技混合基金
科技互联网专业务虚会材料