• myISAM


    • MySQL5.1之前,myISAM是默认存储引擎,myISAM提供了大量的特性,包括全文索引、压缩、空间函数等,但不支持事务和行锁,最大缺陷是崩溃后无法安全恢复。对于只读的数据或表比较小,可以忍受修复操作的情况仍然可以使用myISAM。
    • myISAM将表存储在数据文件和索引文件中,分别以.myd和.myi作为扩展名。myISAM可以包含动态或者静态行,MySQL会根据表的定义决定行格式。myISAM表可以存储的行记录数一般受限于可用磁盘空间或者操作系统中单个文件的最大尺寸。
    • myISAM对整张表加锁,读取时会对需要读到的所有表加共享锁,写入时则对表加排他锁。但是在表有读取查询的同时,也支持并发往表中插入新的记录。
    • 对myISAM表,MySQL可以手动或自动检查和修复操作,这里的修复和事务恢复以及崩溃恢复的概念不同。执行表的修复可能导致一些数据丢失,而且修复操作很慢。
    • 对于myISAM表,即使是BLOB和TEXT等长字段,也可以基于其前500个字符创建索引。myISAM支持全文索引,这是一种基于分词创建的索引,可以支持复杂的查询。
    • myISAM设计简单,数据以紧密格式存储,所以在某些场景下性能很好。myISAM最典型的性能问题还是表锁问题,如果所有的查询长期处于locked状态,那么原因毫无疑问就是表锁。
    欢迎批评指正,提出问题,谢谢!
  • 相关阅读:
    高并发系统中的常见问题
    区块链需要解决诸多问题
    什么是“区块链”技术
    github源码开源区块链浏览器
    JavaScript 内存
    行为驱动开发(BDD)
    Vue.js
    Net程序员学习Linux
    Mybatis数据操作
    Metatable和Metamethod(转)
  • 原文地址:https://www.cnblogs.com/xxeleanor/p/14984184.html
Copyright © 2020-2023  润新知