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;

        

  • 相关阅读:
    AJAX.NET应用异步注册
    [原创]ASPNET1.1分页控件源代码
    prototype.js 1.4版开发者手册
    vs.Net2003无法打开或创建Web应用程序若干解决办法.
    连连看算法
    WEB连连看
    最近公司要搞WEB在线小游戏,我却对游戏人工AI开始了性趣。。
    在vs2003的Win32项目中使用 MFC
    javascript 拼图游戏 v1.0
    IP包过滤
  • 原文地址:https://www.cnblogs.com/520zm/p/13369756.html
Copyright © 2011-2022 走看看