mysql程序语句_mysql基本语句

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的工具

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值