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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 什么是事务?一个事务就是一个完整的业务逻辑,就是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
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
SQL 存储 关系型数据库
SQL优化策略与实践:组合索引与最左前缀原则详解
本文介绍了SQL优化的多种方式,包括优化查询语句(避免使用SELECT *、减少数据处理量)、使用索引(创建合适索引类型)、查询缓存、优化表结构、使用存储过程和触发器、批量处理以及分析和监控数据库性能。同时,文章详细讲解了组合索引的概念及其最左前缀原则,即MySQL从索引的最左列开始匹配条件,若跳过最左列,则索引失效。通过示例代码,展示了如何在实际场景中应用这些优化策略,以提高数据库查询效率和系统响应速度。
119 10
|
4月前
|
SQL 索引
【YashanDB知识库】字段加上索引后,SQL查询不到结果
【YashanDB知识库】字段加上索引后,SQL查询不到结果
|
5月前
|
SQL 关系型数据库 OLAP
云原生数据仓库AnalyticDB PostgreSQL同一个SQL可以实现向量索引、全文索引GIN、普通索引BTREE混合查询,简化业务实现逻辑、提升查询性能
本文档介绍了如何在AnalyticDB for PostgreSQL中创建表、向量索引及混合检索的实现步骤。主要内容包括:创建`articles`表并设置向量存储格式,创建ANN向量索引,为表增加`username`和`time`列,建立BTREE索引和GIN全文检索索引,并展示了查询结果。参考文档提供了详细的SQL语句和配置说明。
122 2
|
6月前
|
SQL 存储 机器学习/深度学习
如何让SQL速度飞起来 入门YashanDB优化器
优化器,SQL引擎的核心组成部分,是数据库中用于把关系表达式转换成最优执行计划的核心组件,影响数据库系统执行性能的关键组件之一。
58 15
|
9月前
|
SQL Oracle 关系型数据库
SQL优化-使用联合索引和函数索引
在一次例行巡检中,发现一条使用 `to_char` 函数将日期转换为字符串的 SQL 语句 CPU 利用率很高。为了优化该语句,首先分析了 where 条件中各列的选择性,并创建了不同类型的索引,包括普通索引、函数索引和虚拟列索引。通过对比不同索引的执行计划,最终确定了使用复合索引(包含函数表达式)能够显著降低查询成本,提高执行效率。
104 3
|
9月前
|
SQL 关系型数据库 MySQL
如何确认SQL用了索引:详细技巧与方法
在数据库管理中,索引是提高SQL查询性能的重要手段
1591 5
|
9月前
|
SQL 存储 数据管理
SQL数据库的使用指南:从入门到精通
随着信息技术的飞速发展,数据库已成为各类企业和组织不可或缺的一部分。作为最流行的数据库管理系统之一,SQL数据库广泛应用于各种场景,如数据存储、数据管理、数据分析等。本文将详细介绍SQL数据库的使用方法,帮助初学者快速入门,并帮助有经验的开发者深化理解。一、SQL数据库基础首先,我们需要理解SQL数
465 2
|
9月前
|
SQL 数据库
SQL数据库基础语法入门
[link](http://www.vvo.net.cn/post/082935.html)
|
9月前
|
SQL 存储 关系型数据库
SQL默认索引是什么:深入解析与技巧
在SQL数据库中,索引是一种用于提高查询性能的重要数据结构
|
9月前
|
SQL 存储 关系型数据库
SQL默认索引是什么
在SQL数据库中,索引是一种用于提高查询性能的数据结构

热门文章

最新文章