mysql事务及搜索引擎

news/2024/12/29 5:38:50/

mysql事务后半部分

加快查询速度索引会自动排序,(升序)

select * from t1;全盘扫描

where可以索引查找show create table

索引是一个排序的列表,包含字段值和相应行数据的物理地址

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

事物的acid特性:原子性,事务管理的基础。把事务看成一个不可分割的整体

一致性,事务管理的目的。让事务开始前和事务结束后保证数据的完整和一致

隔离性,事务管理手段。使多个事务并发操作同一个表数据时,每个事务都有各自的数据空间,通过隔离级别解决不同的一致性的问题。

隔离级别:未提交读RU,提交读RC,可重复读RR,串行读serializable(相当于报表级锁定)

持久性:事务管理的结果。当事务被提交后,命令修改的结果会被永久保存,且不会被回滚

begin;开启事务

commit;

rollback;

savepoint XX;

rollback to XX;

show variables like ‘autocommit’

set autocommit=0/1;

mysql 连接器

 

存储引擎使mysql将数据存储在文件系统中的存储当时或者存储格式

常用引擎

myisam innodb

mysql数据库中的组件,负责实际的数据io操作

mysql系统中,存储引擎处于文件系统上,在数据

保存到数据文件之前会传输到存储引擎,之后按照各个存储引擎的存储格式进行存储

myisam

不支持事务,不支持外键,只支持全文搜索,数据文件和索引文件时分开保存的

适合查询,插入为主的应用

访问速度块,对事物王整形没有要求

分开存储的文件名和表明形同.frm文件存储表结构的定义

数据文件的扩展名为.myd(mydata)

索引文件的扩展名.myi(myindex)

myisam特点

 

 

静态表固定长度优点是存储迅速,容易缓存,出现故障易恢复。缺点占用空间大

动态表可变字段,记录不是固定长度,优待点占用空间小但是频繁的跟新和删除会产生碎片定期执行optimize table或myisamchk -r 改善性能

压缩表由myisamchk工具创建,占用空间小但是会损失性能

 

一致性由事务保证

innodb

支持事务,支持4个事务隔离级别

mysql从5.5开始,默认的存储引擎为innodb

读写阻塞于事务级别有关

能非常高效的缓存索引和数据

表与主键以簇的方式存储

支持分区表,类似oracle数据库

支持外键约束,5.5前不支持,5.5后支持全文索引

对硬件资源要求还是比较高的场合

行级锁定,但要全表扫描任然会试表级锁定

select * from member

update table set a=1 where user like '%zhang%';

like模糊查询

select count(*) from table;全局扫描有myisam会预先保存好简单的行数 count(*)后有where时myisam也需要全局扫描

innodb只有字段做索引是行级锁定,没有表级锁定 

 

 innodb和myisam区别

特点上的区别

innodb 行锁定但是全表扫描,like ,count(*)仍然是表级锁定,读写并发能力较好,在5.5版本才支持全文索引,缓存能力较好可以减少磁盘io的压力 .ibd

myisam不支持事务,外键约束,支支持表级锁定,单独查询的或写入速度较快,读写并发能力交差,支持全文索引,占用的资源较少,适合服务器硬件较差的服务器使用

使用场景

区别innodb 适用于一致性要求较高,数据频繁更新的高并发读写业务场景。表数据和索引是存储在一个表中

myisam适用于不需要事务处理,单独的插入或查询数据的业务场景。数据文件和索引文件是分开存储的

 

show engins;

csv行的内容以,相间阁

show create table member

show table status from kgc查看库中所有表的状态

show table status from kgc where name='member'\G查看

修改alter table member engine = myisam


http://www.ppmy.cn/news/69497.html

相关文章

Spark大数据处理讲课笔记3.5 RDD持久化机制

文章目录 零、本讲学习目标一、RDD持久化(一)引入持久化的必要性(二)案例演示持久化操作1、RDD的依赖关系图2、不采用持久化操作3、采用持久化操作 二、存储级别(一)持久化方法的参数(二&#x…

android log的使用

现在在分析一个android netd的问题,只要一开启热点, for (String ifname : added) {try {Log.d(TAG, "TetheredState, processMessage CMD_TETHER_CONNECTION_CHANGED, add mIfaceName " mIfaceName " ifname " ifname );mNetd.…

etcd的Watch原理

在 Kubernetes 中,各种各样的控制器实现了 Deployment、StatefulSet、Job 等功能强大的 Workload。控制器的核心思想是监听、比较资源实际状态与期望状态是否一致,若不一致则进行协调工作,使其最终一致。 那么当你修改一个 Deployment 的镜像…

蛋糕烘焙店小程序开发 让生活多点甜

蛋糕甜品因为较高的颜值、香甜的口感深受大众喜欢,当我们路过一家蛋糕烘焙店的时候,飘香的味道让我们流连忘返。但是互联网时代,各个行业都在转型,蛋糕烘焙店也需要由传统线下店面向线上线下结合的方式转变,以求摆脱区…

LeetCode 63 不同路径 II

题目: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。现在考虑网格中有障碍物。那么从左…

Golang笔记:使用os.Args和flag包编写命令行界面(CLIs)

文章目录 目的os.ArgsflagFlagSet总结 目的 命令行界面(Command-line Interfaces)是比较常用的一种软件形式。对于大部分开发运维人员来说很多时候CLIs可能比图形界面更加方便。软件开发时也经常会有需要开发命令行界面形式软件的情况,使用G…

Highcharts Core Crack

Highcharts Core Crack 添加了新的“x轴交叉”和“y轴交叉”选项,使创建数学绘图的轴布局变得更容易。 添加了新的“series.legendSymbol”选项。 Highcharts是业界领先的JavaScript图表库。Highcharts被数以万计的开发人员和全球100家最大公司中超过80%的公司使用。…

Leetcode 第 345 场周赛 Problem D 统计完全连通分量的数量

Leetcode 第 345 场周赛 Problem D 统计完全连通分量的数量题目 给你一个整数 n 。现有一个包含 n 个顶点的 无向 图,顶点按从 0 到 n - 1 编号。给你一个二维整数数组 edges 其中 edges[i] [ai, bi] 表示顶点 ai 和 bi 之间存在一条 无向 边。返回图中 完全连通分…