搜索引擎优化知识完(8月更文挑战()行级引擎MyISAM特点应用场景 )
优采云 发布时间: 2021-09-05 06:28搜索引擎优化知识完(8月更文挑战()行级引擎MyISAM特点应用场景
)
这是我参加八月更新挑战的第 12 天。活动详情请查看:八月更新挑战
前言
说到MySQL,我的第一印象是开源免费,支持事务。这些确实是 MySQL 数据库的优点,但只有 InnoDB 引擎支持事务。那么这些其他引擎的存在有什么意义呢?
InnoDB 引擎 InnoDB 事务特性
锁的概念
当一个线程占用一个资源时,可以看作是给这个资源加了锁。当其他线程想要访问它时,它们会被锁拦截。第一个线程完成后交出锁,其他线程再次拿到锁才可以访问。
细化职责分工
共享锁(读锁)
行级锁
排他锁(排他锁/写锁)
表级锁
注意:虽然InnoDB默认使用行级锁,但需要注意的是,行级锁只用于索引更新和删除操作,不能用于索引写操作的表锁。
在实际开发中,一定要保证updae/delete语句的条件和索引可以使用,否则会锁表,程序没有并发。
InnoDB 适用场景 MyISAM 引擎 MyISAM 特性应用场景
注意:使用时注意不要涉及交易数据处理
内存引擎内存特性及应用场景关键参数
使用以下命令查看
-- 查看内存参数设置
show variables like '%HEAP%'
复制代码
默认大小 16M 设置大小
-- 查看内存参数设置
SET GLOBAL max_heap_table_size = 2147483648
复制代码
注意:
#vi /etc/my.cnf
#[mysqld]
#max_heap_table_size = 2048M
复制代码
设置临时表的最大长度
SET GLOBAL tmp_table_size = 2147483648
复制代码
注意:当前设置仅在新连接时生效
CSV 存储引擎 CSV 特点及应用场景