zoukankan      html  css  js  c++  java
  • 十、存储引擎

    MYSQL引擎
     
    我给你一份歌词,让你保存下来,
    你可以怎么保存?
     
    记在脑子里,
    用铅笔写在纸上,
    用钢笔写
     
    还可以刻在石头上
     
    无论你怎么保存
    不变的是数据,变化的是“存储的格式”
     
    Name,age
    张三  22
    李四  23
     
    这个信息,无论你用什么engine来存,都是一样的。
    但是,不同engine,都有存信息,则必须不一样的地方。
     
    总结:engine引擎就是MySQL存储数据的不同方式
     
    就像一部电影,“黄金甲”内容是一样的,
    rmvbmkv,mp4,avi,flv
     
    特点
    Myisam
    innoDB
    Bdb
    Memory
    archive
    批量插入的速度
    非常高
    事务安全
     
    支持
    支持
     
     
    全文索引
    支持
     
     
     
     
    锁机制
    表锁
    行锁
    页锁
    表锁
    行锁
    存储限制
    没有
    64TB
    没有
    没有
    B树索引
    支持
    支持
    支持
    支持
     
    哈希索引
     
    支持
     
    支持
     
    集群索引
     
    支持
     
     
     
    数据缓存
     
    支持
     
    支持
     
    索引缓存
    支持
    支持
     
    支持
     
    数据可压缩
    支持
     
     
     
    支持
    空间使用
    N/A
    非常低
    支持外键
     
    支持
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    Myisaminnodb的区别
     
    Create table (
    )engine myisam
     
     
    开启事务:
    Start transaction;
    事务完成后
    Commit提交
     
    回滚:
    Rollback
     
    事务简介:
    四个属性:原子性、一致性、隔离性、持久性
    原子性:2步或N步操作,逻辑上不可分割。
    通俗点讲,就是要么都么成功,要么都不成功。
     
    一致性:操作前后,值的变化,逻辑上成立。
     
    隔离性:事务结束前,每一步的操作带来的影响,别人看不见。
     
    持久性:事务一旦完成,无法撤销。
    比如:ATM取钱
    账户-500
    吐钞500,钱装兜里。
    这是,出错了,如何撤销这个事务?
    难道让人手动把钱塞回去。
     
    事务不能撤销,但确实是一次错误的交易。
    怎么办?
     
    只能,再做一次“补偿性事务”。
     
    流水1:多加了500
    流水2:追回500[补偿性事务]
     
    但是不能通过把流水1给删掉这种说法。
     
  • 相关阅读:
    Windows 服务程序(一)
    API---注册表编程
    API---文件操作
    main(argc, char *argv[])
    C 自删除技术---批处理方式
    分治法排序
    TDD尝试:nodejs单元测试
    尝试create tech team
    Yum重装走过的坑
    求生欲很强的数据库
  • 原文地址:https://www.cnblogs.com/steven9898/p/11340581.html
Copyright © 2011-2022 走看看