MySQL高级文章集合
开发时,把测试数据拷贝到本地数据库时,需要把sql_mode也拷贝过来,让配置都一样。
缓存:读信息用的
缓冲:写信息用的
=================================
利用show profile查看sql的执行周期:
1.修改配置文件/etc/my.cnf
新增一行:query_cache_type=1
重启mysql
2.show variables like ‘%profiling%‘
set profiling=1;
3.select * from xxx;
show profiles;显示最近几次查询
更细致的查询是:
show profile cpu,block io for query 2;(其中2代表id)
==================================
【MyISAM和InonoDB区别在哪里】面试题
| InnoDB | ||
外键 | 不支持 | 支持 | |
事务 | 不支持 | 支持 | |
行表锁 | 表锁,操作一条记录也会锁住整个表,不适合高并发 | 行锁,操作一条记录,只锁定某一行,适合包并发操, | |
缓存 |
MyISAM InnoDB
外键 不支持 支持
事务 不支持 支持
行表锁 表锁,操作一条记录 行锁,操作一条记录
也会锁住整个表,不 只锁定某一行,适合包并发
适合高并发 操作
缓存 只缓存索引,不缓存真实数据 不仅缓存索引还要缓存真实数据
行锁会出现死锁