zoukankan      html  css  js  c++  java
  • mysql 引擎和事务

    mysql 默认引擎lnnoDB, 还有MyISAM, 可以使用命令SHOW ENGINES; 查看所有可用引擎

    lnnoDB 支持事务, 支持外键

    MylSAM 不支持事务, 不支持外键, 插入和查询的效率更高些  # 跟非关系型数据库有啥区别??

    1. 修改默认引擎:

      1. 找到配置文件my.cnf:  mysql --help |grep my.cnf, 或者改my.ini文件, 方法一样

       显示的配置文件从左往右都会加载, 

      2. 如果显示的配置文件一个都没有就新建一个 /etc/my.cnf

        配置文件/etc/my.cnf中的 [mysqld] 下面加入default-storage-engine=MylSAM

      3. 重启mysql 

      # 有的引擎安装时mysql 都没有默认编译, 要使用就需要重新编译mysql (只有换数据库的需求, 没有换引擎的需求)

    2. 修改表的引擎:

      方式一: ALTER TABLE 表名 ENGINE=INNODB;

      方式二: CREAT TABLE 表名 () ENGINE=INNODB;

    3. 事务  # 普通的增删改查都是 隐性事务

      4个特性: 

        原子性: 事务是一个整体, commit 或者 rollback

        一致性: 两种状态, 要么是开始事务时的状态, 要么是事务结束后的状态

        持久性: 事务提交之后, 数据正常保存

        隔离性: 每个人读写的隔离的, 四种隔离级别

      4种隔离级别:

        读未提交: 查到了事务未提交的数据 (唯一不用加锁)

        不可重复读: 提交之后才会被查到  (Oracle默认事务隔离等级)

        可重复读: 查的时候, 更新的事务要停下, 插入的事务不停 (MySQL默认事务隔离等级)

        串行化: 一个事务一个事务执行, 单进程

      事务sql 语句:

        START TRANSACTION;  # 自动提交功能自动关闭即: SET autocommit=0; 开启为1

        update;

        update;

        COMMIT;  # ROOLBACK;

        

  • 相关阅读:
    Composite in Javascript
    Model Validation in Asp.net MVC
    HttpRuntime.Cache vs. HttpContext.Current.Cache
    Controller Extensibility in ASP.NET MVC
    The Decorator Pattern in Javascript
    The Flyweight Pattern in Javascript
    Model Binding in ASP.NET MVC
    Asp.net MVC
    jQuery Ajax 实例 全解析
    ASP.NET AJAX入门系列
  • 原文地址:https://www.cnblogs.com/520zm/p/13369756.html
Copyright © 2011-2022 走看看