`

浅析myisam存储引擎

 
阅读更多

一、总结

MyIsam存储引擎是mysql默认的存储引擎,它提供了全文搜索压缩空间函数等等特性,但是它不支持事务行级锁,还有一个毫无疑问的缺陷是崩溃后无法安全回复

 

二、myisam的存储

以myisam为存储引擎的表都会保存两个文件,一个数据文件(.MYD)和一个索引文件(.MYI)。

myisam表可以存储的行记录数,如果指针的长度是6字节,也就是48位,那么可以存储256TB的数据。

 

三、mysiam的特性

(1)加锁与并发:表锁,并且是共享锁和排他锁(读锁和写锁),也就是说,在表有读取的同时(共享锁),可以进行插入数据或者更新数据。

 

(2)修复可以手动或者自动执行检查和修复操作,但是与事务回复和崩溃恢复是不同的概念

 

(3)索引特性:支持全文索引

 

(4)延迟更新索引键

 

四、myisam的压缩表

概念:对于不再进行修改的表,我们可以推荐使用压缩表

 

好处:极大减少磁盘IO,提高性能;支持索引,索引只是可读

 

另外说明:如果要对压缩表进行修改,那么只能先解压,修改数据,然后再次压缩

 

 

五、另外知识点

 

mysql对于每一个数据库database都会建立一个目录,该目录底下会有.frm的文件,该文件保存了database下的表的结构信息

我们可以使用show table status like ‘test’来查看表信息



 

  • 大小: 37 KB
分享到:
评论

相关推荐

    Innodb存储引擎浅析—事务系统

    ### Innodb存储引擎浅析—事务系统 #### 学述 在MySQL的众多存储引擎中,InnoDB无疑是最为重要且被广泛使用的之一。本文旨在深入解析InnoDB存储引擎中的事务处理机制及其背后的设计原理。 #### 存储引擎介绍 在...

    MySQL核心Innodb存储引擎浅析—事务系统

    ### MySQL核心Innodb存储引擎浅析—事务系统 #### 存储引擎介绍 在MySQL中,存储引擎是处理表的存储方式的核心组件之一。不同的存储引擎提供了不同的特性,如事务支持、锁定粒度等。其中,MyISAM和InnoDB是最常用...

    浅析MYSQL中的并发操作与锁定

    MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking),BDB存储引擎采用的是页面锁(page-level locking),InnoDB存储引擎既支持行级锁(row-level locking),也支持表级锁,但默认情况下是采用行级锁。...

    浅析MySQL 锁和事务

    MySQL本身也是在文件系统的基础上发展而来,因为锁的存在使之有所不同。 MySQL作为一种数据库软件,难免会存在对其共享资源的并发访问,为了协调和管理不同...对于MyISAM存储引擎,只支持表锁,而InnoDB存储引擎则支

    浅析Mysql 数据回滚错误的解决方法

    对于如何在不支持事务的MyISAM存储引擎上实现类似事务的功能,可以采取以下步骤: 1. 打开Mysql的配置文件my.ini(在Windows系统下通常位于c:\appserv\mysql目录下),找到skip-InnoDB或skip-BDB这一行,前面加上#...

    浅析系统架构.rar (mysql开发组的一个资料)

    资料可能涉及MySQL的存储引擎选择(如InnoDB和MyISAM),主从复制、读写分离策略,以及如何通过分区和索引来提高查询性能。此外,还可能讨论到MySQL集群和分布式解决方案,例如MySQL Fabric,用于管理和协调多个...

    浅析mysql 共享表空间与独享表空间以及他们之间的转化

    innodb这种引擎,与MYISAM引擎的区别很大。特别是它的数据存储格式等.对于innodb的数据结构,首先要解决两个概念性的问题: 共享表空间以及独占表空间。什么是共享表空间和独占表空间共享表空间以及独占表空间都是...

    浅析mysql 语句的调度优先级及改变

    3. `DELAYED` 关键字:仅适用于`INSERT` 和 `REPLACE` 语句,主要用于MyISAM和MEMORY存储引擎。`DELAYED`使得写入操作在后台异步执行,允许其他操作(包括读取和写入)继续进行,但不保证写入顺序。 需要注意的是,...

    MySQL与SQL Server的一些区别浅析

    - MySQL需要在创建表时指定存储引擎,如InnoDB或MyISAM,而SQL Server只有一种存储引擎。 9. 默认时间戳: - MySQL使用`TIMESTAMP`类型获取当前时间,SQL Server则在2008版后引入了`DATE`和`TIME`类型。 10. ...

    深入浅析MySQL从删库到跑路_高级(一)——数据完整性

    在MySQL中,InnoDB存储引擎会自动为主键创建唯一索引,以加快查询速度。主键可以是单列或复合主键,前者如`productID`,后者如`studentID`和`id`的组合。创建主键约束可通过`CREATE TABLE`语句直接指定,或通过`...

    浅析MySQL内存的使用说明(全局缓存+线程缓存)

    2. **innodb_buffer_pool_size**:InnoDB引擎的核心参数,它决定了用于存储数据和索引的缓冲池大小。此参数对InnoDB性能影响巨大,需要根据实际数据量和系统内存进行调整。一般建议设置为系统内存的70%-80%。 3. **...

Global site tag (gtag.js) - Google Analytics