• MYSQL数据库引擎


    一、MYSQL数据库引擎

    1、概述

    Mysql数据库有两种重要的存储引擎

    MyISAMInnoDB

    数据库最早只有MyISAM引擎。

    Mysql5.5版本之前的默认引擎都是MyISAM

    MyISAM引擎对读数据的支持非常好,在早期的网站结构中,数据交互的部分很少,用户上网几乎也是看数据,很少向数据库里写数据。

    2、特点

    aMyISAM引擎的特点

    1)不支持事务===>不支持复杂功能、对系统资源占用少

    2)读的速度特别快,读写互斥(读时候不能写,写时候不能读)==>读好,写支持不好

    3)一旦写入数据,引擎直接对数据表进行表级别锁定,其他用户不能再读写==>写慢

    4)可以缓存索引,但是不缓存数据==>内存占用小

    bInnoDB类型的数据表特点

    1)支持事务、支持复杂功能==>对服务器资源要求高

    2)一旦写入数据,行级别锁定,单表支持并发写==>写支持好

    3)可以缓存索引,也能缓存数据==>内存占用大,对服务器要求高

    4)读写阻塞与实务隔离级别相关(开事务就读写阻塞,不开就不阻塞)

    5)行级锁定,全表扫描仍会表级锁定(就是模糊过滤,工作中要禁止的,用索引)

    3、查看数据库和表配置的引擎

    查看库的引擎:

    show engines;

     

    方法一:查看表的引擎:

    show table status from 库名 where name=表名’G;

     

    系统表是MyISAM引擎

    show table status from mysql where name=’user’G;

     

    方法二:查看表引擎方式(建表时候看引擎)

    show create table client.user_info G;

     

    4、配置引擎

    方法一:

    alter table 库名.表名 engine=引擎

    alter table client.user engine=innodb;

    方法二:

    修改my.cnfdefault-storage-engine 为引擎

    vim /etc/my.cnf

    方法三:

    create table 建立表时设置engine=引擎

    use auth;

    create table id(id int) engine=myisam;

    方法四:

    mysql_convent_table_format --user=root --password=密码 --sock=文件路径/mysql.sock --engine=引擎 库名 表名

    mysql_convent_table_format --user=root --password=123123 --sock=/var/lib/mysql/mysql.sock --engine=myisam client user_info

  • 相关阅读:
    datetime函数和random.seed()函数的应用
    TP5 display()
    _STORAGE_WRITE_ERROR_
    nginx下基于ThinkPHP框架的网站url重写
    Thinkphp3.2版本Controller和Action的访问方法
    Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'
    如何将word公式粘贴到TinyMCE里面
    如何将word公式粘贴到eWebEditor里面
    如何将word公式粘贴到wangEditor里面
    如何将word公式粘贴到xhEditor里面
  • 原文地址:https://www.cnblogs.com/kakajiang/p/10009754.html
Copyright © 2020-2023  润新知