zoukankan      html  css  js  c++  java
  • mysql存储引擎,事务,事务回滚

    查看已有表的使用存储引擎:

    >show create table 表名G;

    查看当前数据库的默认存储引擎和可提供的存储引擎:

    >show engines;

    修改存储引擎:

    step1:修改配置文件/etc/my.cnf

      default_storage_engine=存储引擎

    step2:重启mysqld服务

    修改表的存储引擎:

    alter table 表名  engine=存储引擎;

    创建表时指定存储引擎:

    create table 表名 (字段 类型)engine=存储引擎;

    常用的存储引擎:

    INNODB:支持外键,事务,事务回滚,行级锁

    表文件:**.frm(表结构)     **.ibd(数据和索引)

    MYISAM:不支持外键,事务,事务回滚,表级锁

    表文件:**.frm (表结构)  **.MYD(表数据)**MYI(索引信息)

    锁粒度:

    表级锁:一次直接对整张表进行加锁

    页级锁:对整个页面进行加锁

    行级锁:只锁定某一行

    锁类型:show status like "Table_lock%";

    读锁:(共享锁)支持并发读

    写锁:(排它锁,互斥锁)独占,上锁期间其他的线程不能进行读表和写表。

    事务:一次数据库连接到操作到结束的过程(只针对于表中数据

    事务回滚:在访问过程中,任意一步操作失败,都可恢复之前的所有操作。

    事务日志:记录对所有innodb存储引擎表的操作      ibdata1:未提交的命令

                                                                                  ib_logfile0,ib_logfile1:已提交完成的命令

    事务特性:

    A:原子性   整个操作是一个整体,不可分割,要么成功,要么失败

    C:一致性  事务操作前后各个终端的数据记录无变化

    I:隔离性   事务在未提交之前,各个终端相互隔离,互不影响

    D:持久性  数据事务一旦提交,不可恢复

    mysql>show variables like "autocommit";

    mysql>set autocommit=off;                                关闭自动提交,默认为自动提交

    mysql>rollback;                     //回滚

    mysql>commit;                      //提交

    在未提交之前各个终端看到的数据是不一样的。只针对于表中的数据

    select操作多的表,使用于myisam存储引擎,节约系统资源

    insert操作多的表,使用于innodb存储引擎,并发访问量大

  • 相关阅读:
    android 设置时间和日期
    android 对话框
    android notification 通知
    android 动画(转载)
    js的作用域题
    js高级
    js中级6
    js中级小知识5
    js中级小知识4
    js中级小知识3
  • 原文地址:https://www.cnblogs.com/krystal-LA-zx/p/13447030.html
Copyright © 2011-2022 走看看