mysql基本语句

来源:互联网 发布:矩阵a2 a 编辑:程序博客网 时间:2024/06/05 00:21
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的工具
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 酷派手机不停的开机关机怎么办 苹果6手机进水了开不了机怎么办 金立手机突然黑屏开不了机怎么办 丢失手机又忘了ID锁怎么办? 小米2按出电话后黑屏怎么办 华为手机桌面拨号键没有了怎么办 华为荣耀5x黑屏后无法关机怎么办 华为手机突然黑屏电池充不了怎么办 华为手机恢复出厂设置后黑屏怎么办 华为荣耀畅玩6a内存不够怎么办 红米note4玩王者荣耀卡怎么办 华为荣耀5a手机被锁怎么办 华为荣耀v8应用锁忘记蜜码怎么办 阿里巴巴一键代销被投诉受假怎么办 登录小米云服务怎么删除密码怎么办 苹果6云空间连接不上怎么办 买家收到淘宝网交易异常通知怎么办 快递把我秒杀的货弄丢了怎么办 手机淘宝退货物流单号填错了怎么办 买家要求退货退款但是不发货怎么办 多给买家寄包裹不接电话怎么办 给买家发货物流单号错了怎么办 淘宝退货退款快递单号填错了怎么办 淘宝不小心点了延迟收货怎么办 淘宝快递地址错了货已经发了怎么办 卖家送运费险买家填错单号怎么办 买家无赖点了延迟收货卖家怎么办 淘宝卖家快递单号填错了怎么办 淘宝店有当天的快递忘记发货怎么办 在美国官网买东西少寄了东西怎么办 闲鱼退货货收了不退钱怎么办 闲鱼退货卖家收到东西不退钱怎么办 淘宝店铺物流服务给差评怎么办 在合肥东方融资网被骗了怎么办 微信今年绑定频繁明年再试怎么办 手机号码注销了微信密码忘了怎么办 摄像师把婚礼资料弄丢了怎么办 青岛拍的婚纱照修的不好怎么办 鞋店剩的鞋都是小码的怎么办 淘宝想买的衣服下架了怎么办 买家要求到付仲裁发生运费怎么办