mysql逻辑架构 最上层的服务并不是mysql独有的,连接处理、授权认证、安全 第二层:查询解析,分析,优化,缓存以及所有内置函数 所有跨存储功能都在这 连接、线程处理: 连接管理与安全性: 每个客户端连接都会在服务器进程中拥有一个线程 , 查询缓存 解析器 优化器 存储引擎 两种类型的锁通常称为共享锁和排他锁,也叫读锁和写锁 start transaction ; ACID测试,否则空谈事务的概念是不够的, 表于原子性(atomicity ) 一致性,隔离性,持久性 查询是否开启自动提交: show variables like '%autocommit%'; 设置自动提交: set autocommit=1;#设置自动提交,所有的查询者是在一个事务中,直到显式地执行 commit ,直到显示执行 set autocommit=0;#设置不自动提交 作用说明: 查询数据库的隔离级别: SELECT @@tx_isolation 查询全局和会话事务隔离级别: SELECT @@global.tx_isolation; SELECT @@session.tx_isolation; SELECT @@tx_isolation; 所有级别 1)read uncommitted : 读取尚未提交的数据 :哪个问题都不能解决 2)read committed:读取已经提交的数据 :可以解决脏读 ---- oracle默认的 3)repeatable read:重读读取:可以解决脏读 和 不可重复读 ---mysql默认的 4)serializable:串行化:可以解决 脏读 不可重复读 和 虚读---相当于锁表 2.2 设置 设置mysql的隔离级别:set session transaction isolation serializable 设置事务隔离级别 set tx_isolation='read-uncommitted'; set @@global.tx_isolation='read-uncommitted'; show table status like 'user'\G *************************** 1. row *************************** Name: user #表名 Engine: MyISAM #表的存储引擎类型 Version: 10 Row_format: Dynamic Rows: 5 Avg_row_length: 81 Data_length: 552 Max_data_length: 281474976710655 Index_length: 2048 Data_free: 144 Auto_increment: NULL Create_time: 2017-10-18 18:47:33 Update_time: 2017-10-18 18:47:39 Check_time: NULL Collation: utf8_bin Checksum: NULL Create_options: Comment: Users and global privileges infobright 是mysql数据仓库最成功的解块方案 转换表的引擎: 有很多种方法可以表的存储引擎转换成另外一种引擎。每种方法都有其优点 缺点。在接下来的章节。我们将讲述其中三种广东 alter table mytable engine=innodb; 上述的语法可以适用任何存储引擎,但有一个问题:需要执行很长时间 mysql会按行将数据从原表复制到一张新的表中,在复制期间可能会消耗系统所有I/o能力。同时 原表上会加上读锁。在繁忙的表上执行此操作要特别的小心 如果转换表的存储引擎,将会失去和原引擎相关的所有特性。 如果一张innodb表转换成myisam,然后再转换回innodb 导出与导入: 为了更好地控制转换的过程,可以使用mysqldump工具将数据导出到文件 然后修改文件中create table 语句的存储引擎 创建与查询(create 和select ) 第三种转换的技术结合了第一种方式的高效的第二种方法的安全 create table innodb_talbe like myism_table; alter table innodb_table engine=innodb; insert into innodb_table select * from myisam_table; 以上是数据量不大: 如果数据量比较大的时,可以考虑分批处理针对每一段数据执行事务提交操作 避免大事务产生过多的undo,假定有主键字段id 重复运行以下语句 start tansaction; insert into innodb_table select * from myism_talbe where id between x and y ; commit; percona toolkit 提供了一个pt-online-schema-change的工具
mysql程序语句_mysql基本语句
最新推荐文章于 2021-07-01 14:28:02 发布