简单了解Mysql中的索引,事务与视图
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,下面一起来了解下Mysql中的索引,事务与视图,相信大家看完肯定会受益匪浅,文字在精不在多,希望Mysql中的索引,事务与视图这篇短内容是你想要的。索引的概念索引是一种特殊的文件,包含着对数据表中所有
千家信息网最后更新 2025年01月21日简单了解Mysql中的索引,事务与视图
下面一起来了解下Mysql中的索引,事务与视图,相信大家看完肯定会受益匪浅,文字在精不在多,希望Mysql中的索引,事务与视图这篇短内容是你想要的。
索引的概念
索引是一种特殊的文件,包含着对数据表中所有记录的引用指针。更通俗地说,数据库索引好比一本书前面的目录,能加快数据库的查询速度。例如需要遍历2000条数据,在没有索引的情况下,数据库会遍历全部2000条数据后选择符合条件的;而有了相应的索引之后,数据库会直接在索引中查找符合条件的选项。数据库索引就是为了提高表的搜索效率而对某些字段中的值建立的目录。
索引的作用
(1)快速定位,大大加快数据的查询速度;
(2)降低数据库的IO(输入/输出)成本,降低数据库的排序成本;
(3)通过创建唯一性索引,可以保证数据表中的每一行数据的唯一性;
(4)加快表和表之间的联系;
索引的分类
(1)普通索引,最基本的索引类型,没有唯一性之类的限制
(2)唯一索引,索引列的所有值只能出现一次,即必须唯一,可以有一个为空值
(3)主键索引,主键是一种唯一索引,但它必须指定为"PRIMARY KEY",不可以为空值,在数据库中为表定义主键将自动创建主键索引,主键索引是唯一索引的特殊类型。该索引要求主键中的每一个值都唯一
(4)全文索引,索引类型为FULLTEXT,全文索引可以在CHAR,VARCHAR或者TEXT类型的列上创建
(5)多列索引。多列索引可以区分其中一列可能有相同值的行。例如:如果经常在同一查询中为姓和名两列设置查询条件,那么在这两列上创建索引将很有意义
创建索引的条件
数据条目大于2000条 否则和不使用索引没有多大区别
创建及查看索引
首先进入数据库school创建一个数据表info
id name score hobby
1 张三 90 游泳
2 李四 79 看书
2 王五 68 画画
(1)创建普通索引
查看索引:show index from info \G; 在命令后面加上"\G",可以竖向显示索引的信息
命令格式:
create index 索引名 on 表名 (列名);
(2)创建唯一索引
命令格式:create unique index 索引名 on 表(列名);
举例:create unique index unique_id_index on info(id);
(3)创建主键索引,
创建主键索引有两种方式,一种是在创建表的同时创建主键,主键索引默认创建
另一种是已经创建了表,没有指定主键,然后修改表加入主键,主键索引会自动创建,
命令格式:alter table 表名 add primary key(列名);
(4)删除索引
命令格式:drop index 索引名 on 表名;
举例:
drop index name_index on info;
drop index unique_id_index on info;
(5)删除主键
命令格式:alter table 表名 drop primary key;
举例:alter table info drop primary key;
(6)修改表的结构
增加一列,举例:alter table info add column age int;
删除表中一列;alter table info drop column age;
修改列的内容;alter table infos change hobby hobname char(16);
(7)创建全文索引:create table infos (descript text,fulltext(descript));
(8)创建多列索引:只需要在创建索引时指定多列即可
create index mulit_index on info(name,score);
事务的概念
事务是一种机制,一个操作序列,包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么执行,要么都不执行。事务是一个不可分割的工作逻辑单元,在数据库系统上执行并发操作时,事务是最小的控制单元。事务适用于用户同时操作数据库系统的场景,如银行,保险公司及证券交易系统等。通过事务的整体性以保证数据的一致性。事务是保证了一组操作的平稳性和可预测性的技术。
事务的ACID特性
事务具体有四个特性:原子性;一致性;隔离性;持续性
(1)原子性:事务是一个完整的操作,各元素是不可分的,即原子的。事务中的所有元素必须作为一个整体提交或回滚。如果事务中的任何元素失败,则整个事务将失败
(2)一致性:当事务完成时,数据必须处于一致状态;在事务开始之前,数据库中存储的数据处于一致状态;在正在进行的事务中,数据可能处于不一致的状态;当事务成功完成时,数据必须再次回到一致的一致状态。
(3)隔离性:对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不应以任何方式依赖于或影响其他事务。修改数据的事务可以在另一个使用相同数据的事务开始之前访问这些数据,或者在另一个使用相同数据的事务结束之后访问这些数据。
(4)持久性:指不管系统是否发生故障,事务处理的结果都是永久的。一旦事务被提交,事务的效果会被永久的保存在数据库中
使用事务命令控制事务
begin:表示开始一个事务,后面会有多条数据库操作语句执行
commit:表示提交一个事务,对应前面的begin操作,它们之间的数据库操作语句一起完成
rollback:表示回滚一个事务,在begin和commit之间,如果某一个数据库操作语句出现错误,执行rollback回滚,数据库回到begin之前的状态,也就是操作语句都不执行
看完Mysql中的索引,事务与视图这篇文章后,很多读者朋友肯定会想要了解更多的相关内容,如需获取更多的行业信息,可以关注我们的行业资讯栏目。
索引
数据
事务
数据库
命令
一致
格式
状态
系统
条件
类型
语句
查询
视图
相同
一致性
之间
元素
全文
内容
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全工具写生建筑
计算机网络安全设计背景
视图结果是否存在数据库中
徐汇区金融行业it服务软件开发
微信投票赚钱软件开发
庐江品质网络技术服务哪家好
云顶之弈新服务器
数据库安全性控实验答案
创建数据库 软件
西安搞软件开发的公司
嘉定区网络技术咨询对象
网络安全漏洞图片
北京迅升网络技术
服务器安装失败为什么
阿里云镜像下载数据库
软件开发设计有什么学校
5G对建立数据库安全性高吗
辽宁安卓软件开发价钱是多少
软件开发的人是不是特别厉害
软件开发公司资料转卖
服务器降噪白皮书
青岛和沐网络技术有限公司
人间地狱刷不出来服务器
软件开发全球业务怎么设置时间
window 代理服务器
思科网络技术学院教程实验手册
数据库开发平台推荐
电大数据库应用技术答案
电脑上服务器不可用
门头沟区专业网络技术售后保障