myisam存储引擎特点:
1.不支持事务
2.表级锁定(更新时锁整个表,其索引机制是表级索引,这虽然可以让锁定的实现成本很小,但是也同时大大降低 了其并发性能)

3.读写互相阻塞:不仅会在写入的时候阻塞读取,myisam还会在读取的时候阻塞写入,但读本身并不会阻塞另外的读。
4.只会缓存索引:myisam可以通过key_buffer_size缓存索引,以大大提高访问性能减少磁盘IO,但是这个缓存区只会缓存索引,而不会缓存数据。

5.读取速度较快,占用资源相对少

6.不支持外键约束,但支持全文索引

myisam引擎适用的生产业务场景
1.不需要事务支持的业务(列如转账就不行,充值付款)

2.一般为读数据比较多的应用,读写都频繁场景不适合,读多或者写多的都适合
3.读写并发访问相对较低的业务( 纯读纯写高并发也可以)

4.数据修改相对较少的业务(阻塞问题)

5.以读为主的业务

6.对数据一致性要求不是非常高的业务(不支持事务)
7.中小型的网站部分业务会用

myisam引擎调优精要

  1. 设置合适的索引(缓存机制)

  2. 调整读写优先级,根据实际需求确保重要操作更优先执行

  3. 启用延迟插入改善大批量写入性能(降低写入频率,尽可能多条数据一次性写入)

  4. 尽量顺序操作让insert数据都写入到尾部,减少阻塞

  5. 分解大的时间长的操作,降低单个操作的阻塞时间

  6. 降低并发数(减少对mysql访问),某些高并发场景通过应用进行排队队列机制

  7. 对于相对静态(更改不频繁)的数据库数据,充分利用Query Cache或memcached缓存服务可以极大的提高效率
    query_cache_size=2m
    query_cache_limit=1m
    query_cache_min_res_unit=2k

  8. myisam的count只有在全表扫描的时候特别高效,带有其他条件的count都需要进行实际的数据访问。

  9. 可以把主从同步的主库使用innodb,从库使用myisam引擎(不推荐)。

mysql存储引擎之myisam学习的更多相关文章

  1. MySQL存储引擎之Myisam和Innodb总结性梳理

    Mysql有两种存储引擎:InnoDB与Myisam,下表是两种引擎的简单对比   MyISAM InnoDB 构成上的区别: 每个MyISAM在磁盘上存储成三个文件.第一个 文件的名字以表的名字开始 ...

  2. 浅谈MySQL存储引擎-InnoDB&MyISAM

    存储引擎在MySQL的逻辑架构中位于第三层,负责MySQL中的数据的存储和提取.MySQL存储引擎有很多,不同的存储引擎保存数据和索引的方式是不同的.每一种存储引擎都有它的优势和劣势,本文只讨论最常见 ...

  3. mysql存储引擎之MyISAM 和 InnoDB的比较

    一.什么是存储引擎 存储引擎说白了就是如何存储数据.如何为存储的数据建立索引和如何更新.查询数据等技术的实现方法.因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和 ...

  4. mysql存储引擎的一点学习心得总结

    首先我们应该了解mysql中的一个重要特性--插件式存储引擎,从名字就能够看出在mysql中,用户能够依据自己的需求随意的选择存储引擎.实际上也是这样.即使在同一个数据库中.不同的表也能够使用不同的存 ...

  5. MySQL存储引擎之Myisam和Innodb总结性梳理-转

    原文链接:https://www.cnblogs.com/kevingrace/p/5685355.html 谢谢楼主 Mysql有两种存储引擎:InnoDB与Myisam,下表是两种引擎的简单对比 ...

  6. MySQL存储引擎:MyISAM和InnoDB的区别

    MyISAM和InnoDB的区别 定义 InnoDB:MySQL默认的事务型引擎,也是最重要和使用最广泛的存储引擎.它被设计成为大量的短期事务,短期事务大部分情况下是正常提交的,很少被回滚.InnoD ...

  7. MySQL存储引擎 InnoDB/ MyISAM/ MERGE/ BDB 的区别

    MyISAM:默认的MySQL插件式存储引擎,它是在Web.数据仓储和其他应用环境下最常使用的存储引擎之一.注意,通过更改 STORAGE_ENGINE 配置变量,能够方便地更改MySQL服务器的默认 ...

  8. MySQL存储引擎简介-MyISAM和InnoDB的区别

    上篇文章<MySql逻辑结构简介>我们聊到了存储引擎,可以说MySQL可插拔的多元化存储引擎给我们的使用者带来了很灵活的选择. 这篇文章我们来聊一下目前主流的两种存储引擎MyISAM和In ...

  9. mysql存储引擎之innodb学习

    innodb引擎特点1.支持事务:支持4个事务隔离级别,支持多版本读. 2.行级锁定(更新时一般是锁定当前行):通过索引实现,全表扫描仍然会是表锁,注意间隙 锁的影响 3.读写阻塞与事务隔离级别有关 ...

随机推荐

  1. cacti安装和使用

    关闭selinux 1.搭建lamp环境 配置apache [root@cacti-server ~]# yum -y install httpd [root@cacti-server ~]# sys ...

  2. [转载]Java操作Excel文件的两种方案

    微软在桌面系统上的成功,令我们不得不大量使用它的办公产品,如:Word,Excel.时至今日,它的源代码仍然不公开已封锁了我们的进一步应用和开发.在我们实际开发企业办公系统的过程中,常常有客户这样子要 ...

  3. 017——数组(十七) asort ksort rsort arsort krsort

    <?php /** * 数组 asort ksort rsort arsort krsort */ //asort()对数组按值排序,保留键名: /*$arr=array( 'bbs_url'= ...

  4. [sqlite] 判断表、视图是否存在及常用C#操作语句

    1,判断表是否存在: SELECT name, sql FROM sqlite_master WHERE type="table" AND name = "Dom&quo ...

  5. tsl/ssl 证书制作记录

    生成自签名证书 生成服务端秘钥 $ openssl genrsa -out server.key 1024 生成证书请求文件 编写配置文件openssl.cnf $ vi openssl.cnf [r ...

  6. RabbitMQ(1) 核心概念

    消息中间价 消息中间价,也称消息队列,是分布式式系统中常用的中间价. 通过消息中间价传递消息,使得各个子系统解耦,异步通信. 目前业界有许多消息队列的实现,如RabbitMQ.Kafka.Active ...

  7. LeetCode OJ:Search in Rotated Sorted Array(翻转排序数组的查找)

    Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 migh ...

  8. C++/C extern关键字详解 EntryPointNotFoundException处理

    最近在弄C#帮公司做一个图像识别的功能,用到了第三方的dll,在调用dll过程中就出现了一个问题.EntryPointNotFoundException异常.遇到这种异常,很大可能就是在生成dll时函 ...

  9. New Concept English three (23)

    31w 45 People become quite illogical when they try to decide what can be eaten and what cannot be ea ...

  10. 理解 uncaughtException 和 domain 和 try catch 区别

    文章 实践 uncaughtException 捕获的是全局的异常, 反应慢, 每个回调完成后才发出异常, 书写也麻烦 domain 可以捕获每个异常, 及时反馈, 并且书写简洁 但他们两个捕获的异常 ...