mysql引擎
MyISAM引擎:
- Mysql5.0以前使用较多
- 数据读取速度很快
- 适合读多写少的场景
- 不支持事务
- 为保证数据一致性,写入数据时锁表
InnoDB引擎
- 现在mysql的默认引擎
- 支持事物
- 锁表变成行锁
- 适合读多写多场景
TokuDB引擎
- 需要额外安装
- 只支持Linux
- 写入数据的速度是InnoDB的9-20倍
- 数据的压缩比是InnoDB的十四倍
- 适合写多读少的场景
CUDR
插入
数据插入(一)
批量插入数据,因为一条记录的问题,全部数据都写入失败
INSERT IGNORE INTO ....... => 加入IGNORE关键字
数据插入(二)
如何实现不存在就插入, 存在就更新??
INSERT INTO table VALUES (...) ON DUPLICATE KEY UPDATE col=VALUES(col)
查询
子查询(优化)
子查询(不建议使用)
子查询的替代方案:使用FROM子查询,替代WHERE子查询
//FROM子查询只会执行一次,所以不是相关子查询
SELECT * FROM t1 JOIN (SELECT col FROM t2 WHERE ...) temp ON t1.x = temp.x
内连接
外连接
表连接修改(优化)
表连接删除(优化)
DELETE e, 删除表 e 的数据
DELETE e,d 删除表e,d两表的数据