SQL入门第六篇——事务与索引

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 什么是事务?一个事务就是一个完整的业务逻辑,就是a转账给b,那么a要扣钱,b要加钱两者需要同时进行。只有DML的三个语句和事务有关系,其他都没有关系。因为三个语句是数据库表的增删改。只要你的操作一旦涉及到就需要考虑安全问题。提交事务:清空事务性活动的日志文件,将数据全部

SQL入门第六篇——事务与索引

事务介绍

  1. 什么是事务?一个事务就是一个完整的业务逻辑,就是a转账给b,那么a要扣钱,b要加钱两者需要同时进行。
  2. 只有DML的三个语句和事务有关系,其他都没有关系。因为三个语句是数据库表的增删改。只要你的操作一旦涉及到就需要考虑安全问题。
  3. 提交事务:清空事务性活动的日志文件,将数据全部彻底持久化到数据库表中,提交事务标志着,事务的结束,并且是一种全部成功的结束。
  4. 回滚事务:将之前所有的DML操作全部撤销,并且清空事务性活动的日志文件回滚事务标志着,事务的结束。并且是一种全部失败的结束。
  5. 怎么提交事务,怎么回滚事务
    提交事务:commit
    回滚事务:rollback
    事务对应的英语单词是:transaction
  6. 事务四大特性:原子性,一致性,隔离性,持久性
  7. 事务的隔离性:有四种级别
    读未提交:read uncommitted,事务A可以读取到事务B这种现象称为脏读现象
    读已提交:read committed,事务A只能读取到事务B提交后的数据
    可重复读:repeatable read,事务A读取到了事务B,后来事务B修改并且提交了,那么事务A还是能读取到没修改之前的数据
    序列化:seriallizable,最高级别效率也是最低,不能并发进行。

索引简介

  1. 索引:类书书本的排列方式,有目录和小节。遵循左小右大的原则,采用中序遍历
    提醒1:在任何数据库中主键都会自动添加索引对象,id字段上自动有索引。如果一个字段上有unique约束的话,也会自动创建索引对象
    提醒2:在任何数据库中,任何一张表的任何一条记录硬盘存储上都有一个硬盘的物理存储编号
    提醒3:在mysql中,索引是一个单独的对象,不同的存储引擎以不同的形式存在,在MYISAM存储引擎中,索引存储在一个.MYI文件中。在InnoDB存储引擎中索引存储在一个逻辑名称叫做tablespace的当中。在MEMOEY存储引擎中,索引存储在一个内存当中,不管索引存储在哪里,索引在mysql当中都是一个树的形式存在(自平衡树:b+树)
  2. 在mysql当中,主键上,以及unique字段上都会自动添加索引的什么条件下,我们会考虑给字段添加索引呢?
    条件1:数据量庞大
    条件2:该字段经常出现在where的前面,以条件的形式存在,经常被扫描
    条件3:该字段很少的DML操作
  3. 索引怎么创建和删除,语法是什么?
    创建索引:create index emp_ename_index on emp(ename);
    删除索引:drop index emp_ename_index on emp;
  4. 索引失效的情况:
  1. 使用%或者_,
  2. 2使用or,
  3. 3使用复合索引的时候,没有使用左  侧的列查找。
  4. 4在where当中索引参加了运算
  5. 在where当中索引列使用了函数
  1. 索引是各种数据库进行优化的重要手段。优化的时候优先考虑的因素就是索引
    有单一索引,复合索引,主键索引,唯一性索引

DBA命令

  • 必会的导出与导入:mysql dump bjpowernode    >D:bjpwernode.sql -uroot(用户名)-p(密码)
  • 导入:mysql dum p bjpowernode emp>D:bjpwernode.sql -uroot(用户名)-p(密码)
  • 初始话数据库:source D:\bjpowernode.sql
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
SQL 存储 关系型数据库
如何巧用索引优化SQL语句性能?
本文从索引角度探讨了如何优化MySQL中的SQL语句性能。首先介绍了如何通过查看执行时间和执行计划定位慢SQL,并详细解析了EXPLAIN命令的各个字段含义。接着讲解了索引优化的关键点,包括聚簇索引、索引覆盖、联合索引及最左前缀原则等。最后,通过具体示例展示了索引如何提升查询速度,并提供了三层B+树的存储容量计算方法。通过这些技巧,可以帮助开发者有效提升数据库查询效率。
135 2
|
2月前
|
SQL Oracle 关系型数据库
SQL优化-使用联合索引和函数索引
在一次例行巡检中,发现一条使用 `to_char` 函数将日期转换为字符串的 SQL 语句 CPU 利用率很高。为了优化该语句,首先分析了 where 条件中各列的选择性,并创建了不同类型的索引,包括普通索引、函数索引和虚拟列索引。通过对比不同索引的执行计划,最终确定了使用复合索引(包含函数表达式)能够显著降低查询成本,提高执行效率。
|
2月前
|
SQL 关系型数据库 MySQL
如何确认SQL用了索引:详细技巧与方法
在数据库管理中,索引是提高SQL查询性能的重要手段
|
23天前
|
SQL Oracle 关系型数据库
[SQL]事务
本文介绍了事务处理的基本概念,包括事务的四大特性(原子性、一致性、隔离性、持久性)及生命周期。文章还详细解释了事务的保存点、四种事务隔离级别及其异常读现象,并提供了设置事务隔离级别的方法。最后,作者建议读者深入学习相关理论以更好地理解事务隔离级别。
45 0
|
2月前
|
SQL 存储 数据管理
SQL数据库的使用指南:从入门到精通
随着信息技术的飞速发展,数据库已成为各类企业和组织不可或缺的一部分。作为最流行的数据库管理系统之一,SQL数据库广泛应用于各种场景,如数据存储、数据管理、数据分析等。本文将详细介绍SQL数据库的使用方法,帮助初学者快速入门,并帮助有经验的开发者深化理解。一、SQL数据库基础首先,我们需要理解SQL数
121 2
|
2月前
|
SQL 数据库
SQL数据库基础语法入门
[link](http://www.vvo.net.cn/post/082935.html)
|
2月前
|
SQL 存储 关系型数据库
SQL默认索引是什么:深入解析与技巧
在SQL数据库中,索引是一种用于提高查询性能的重要数据结构
|
2月前
|
SQL 存储 关系型数据库
SQL默认索引是什么
在SQL数据库中,索引是一种用于提高查询性能的数据结构
|
2月前
|
SQL 关系型数据库 MySQL
如何确认SQL用了索引
在数据库管理和优化过程中,确认SQL查询是否使用了索引是一个至关重要的步骤
|
2月前
|
SQL 关系型数据库 MySQL
如何确认SQL查询是否使用了索引:详细步骤与技巧
在数据库管理和优化中,确认SQL查询是否有效利用了索引是提升性能的关键步骤