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;

        

  • 相关阅读:
    8.C++-类的关键字
    BFS-九宫格重排(详解)
    7.C++类与封装的概念
    4.数码相框-freetype多行显示,居中显示
    3.数码相框-通过freetype库实现矢量显示
    Linux-iconv命令、并批处理将所有GBK文件转换为UTF8(18)
    2.数码相框-编码(ASCII/GB2312/Unicode)介绍,并使LCD显示汉字字符(2)
    1.数码相框-相框框架分析(1)
    Kotlin 之操作符重载
    Andorid-解决View重复点击的思路
  • 原文地址:https://www.cnblogs.com/520zm/p/13369756.html
Copyright © 2011-2022 走看看