博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL中myisam和innodb的区别
阅读量:5357 次
发布时间:2019-06-15

本文共 896 字,大约阅读时间需要 2 分钟。

  区别:

1.innodb支持事务,myisam不支持事务。innodb默认AUTOCOMMIT是开启的,每条SQL会默认封装成一个事务

2.innodb支持行级锁定,myisam支持表级锁定

3.innodb支持外键,myisam不支持外键

4.innodb主键范围大,最大是myisam 的2倍

5.innodb不支持全文索引,myisam支持全文索引

二、innodb和myisam检索速度哪个快?

myisam速度快。因为innodb在做select的时候,要维护的东西比myisam引擎多:

1)数据块,INNODB要缓存,MYISAM只缓存索引块,  这中间还有换进换出的减少;

2)innodb寻址要映射到块,再到行,MYISAM记录的直接是文件的OFFSET,定位比INNODB要快;

INNODB还需要维护MVCC一致;虽然你的场景没有,但他还是需要去检查和维护MVCC (Multi-Version Concurrency Control)多版本并发控制
 
 
三、mysql中的日志
1.重做日志(redo log)
2.回滚日志(undolog)
3.二进制日志(binlog)
4.错误日志(errorlog)
5.慢查询日志(slow query log)
6.一般查询日志(general log)
7.中继日志(relay log)
 
四、MySQL数据库cpu飙升到500%的话他怎么处理?
1.通过show processlist找到耗时最长的
mysql> show processlist
2.杀掉该进程
mysql> kill xx
3.通过慢查询日志找到具体SQL语句
开启慢查询:
【MySQLd】
slow_query_log = 1 #开启慢查询
long_query_time = 5 #慢查询时间
log_slow_queries = /var/log/mysql/slowquery.log #需有写入权限
4.使用explain优化SQL语句
 

转载于:https://www.cnblogs.com/sjzgk/p/10818840.html

你可能感兴趣的文章
Android 使用正则表达式来快速生成多套dpi及分分辨率适配的UI
查看>>
tyvj1014 乘法游戏
查看>>
python字典及相关操作
查看>>
C++中的 istringstream 的用法
查看>>
分布式拒绝服务攻击 DDoS
查看>>
语音质量评价
查看>>
转:java中Vector的使用
查看>>
正则表达式匹配符
查看>>
(.NET) Boxing and Unboxing
查看>>
spring challenge02 mybatis尝试01
查看>>
for循环练习
查看>>
【Linux】【Shell】【Basic】条件测试
查看>>
ytu 2011: C语言实验——找中间数(水题)
查看>>
P2468 [SDOI2010]粟粟的书架
查看>>
正定矩阵(Positive-definite Matrix)
查看>>
调用SAP dll 出现 试图加载格式不正确的程序
查看>>
ajax传递array参数
查看>>
nmon监控linux系统性能
查看>>
SQLSERVER 创建ODBC 报错的解决办法 SQLState:'01000'的解决方案
查看>>
Spark记录-Scala类与对象小例子
查看>>