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

    Mysql支持的存储引擎(这里只列出了四种作比较):

      1、MyISAM

      2、InnoDB

      3、MeMory

      4、Archive

    在了解这四种存储引擎之前,先了解几个概念:

    1、并发控制:当多个连接对记录进行修改时保证数据的完整性和一致性;

    列:有两个用户登录,一个用户要删除商品表的22号记录,另一个用户要查询22号记录,有可能会造成正在查询的用户报错并退出,也有可能查询的用户读到一条与实际记录不符的信息。解决这类问题的方法就是并发控制

      在使用并发读和并发写时,系统提供了两类锁:

      共享锁(读锁):多个用户可以同时读取同一个资源,读取过程中数据不会发生改变;

      排他锁(写锁):在任意时刻,只允许一个用户对资源进行写操作,会阻塞其他的读锁或者写锁,不允许其他用户读和写操作;

      锁的粒度:在加锁时只加最对的而不加最大的,因为加锁会增加系统的开销;

      Mysql的锁策略有两种:对一张表进行操作,也就是对表进行写操作,会阻塞其他的读锁和写锁

        表锁:一种开销最小的锁(对一张表操作,直接锁整个表)

        行锁:一种开销最大的锁(对一张表操作,对表中的每一条记录都要加上锁)

    2、索引:对表中的一列或者多列的值进行排序的一种结构

      使用索引可以快速的访问数据表中的特定信息;

      相当于一本书的目录,在查找有关信息时,查找目录就可以快速的查找到信息在哪一章节哪一页;

    对这四种引擎比较:

    特点 MyISAM InnoDB Memory Archive
    存储限制 256TB 64TB
    事务安全   支持    
    支持索引 支持 支持 支持  
    锁颗粒 表锁 行锁 表锁 行锁
    数据压缩 支持     支持
    支持外键   支持    

    通常使用的都是前两种MyISAM和InnoDB;

    更改存储引擎的方式:

    1、在mysql的配置文件中(默认在C:Program FilesMySQLMySQL Server my.ini):

       default-storage-engine=INNODB

    2、创建表结构时修改:

    CREATE TABLE user(

    ...

    ...

    )ENGINE=InnoDB;

    3、创建表之后修改:

    ALTER TABLE user ENGINE = InnoDB;

  • 相关阅读:
    聚类算法学习-kmeans,kmedoids,GMM
    hdu
    高仿精仿微信应用ios源码下载
    UVA 116 Unidirectional TSP 经典dp题
    [置顶] 动态规划之切割钢条
    poj
    求解printf函数?
    实现多文件上传在iOS开发中
    开源DirectShow分析器和解码器: LAV Filter
    <Win32_20>纯c语言版的打飞机游戏出炉了^_^
  • 原文地址:https://www.cnblogs.com/YpfBolg/p/10853254.html
Copyright © 2011-2022 走看看