本文共 821 字,大约阅读时间需要 2 分钟。
InnoDB引擎与MyISAM引擎区别.
MyISAM | InnoDB |
表级锁 | 行级锁 |
非事物安全 | 事物安全性 |
全文索引 | 不支持全文索引 |
OLAP联机分析处理 | OLTP 联机事物处理 |
SQL优化及合理使用索引
1 not in字句查询优化
2 模式匹配like '%xxx%' 优化
3 limit 分页优化
4 count(*) 统计数据加速
一 count (辅助索引) 快于count(*)
二 count(distict)优化
5 or条件优化
6 使用on duplicate key update字句
7 不不要的排序
8 不必要的嵌套select查询
9 不必要的表自身连接
10 用where字句替换having字句
合理使用索引
1 单列索引和联合索引优化
2 字段使用函数,将不能用到索引
3 致命的无引号导致的全表扫描,无法用到索引
4 当取出的数量超过表中数据的20%,优化器不会使用索引,而是全表扫描
5 考虑不为某些列建立索引
6 order by,group by 优化
MySQL5.6 支持的新特性
1 explain update
2 Innodb引擎支持全文索引
3 支持Multi-Range read索引优化
4 优化了Innodb Merge合并索引
5 支持Innodb condition pushdown索引优化
拷贝表 create table_name as select * from Source_table where 1=1;
复制表结构 create table_name as select * from Source_table where 1 <> 1;
where 1=1的写法是为了检化程序中对条件的检测。
本文转自Tenderrain 51CTO博客,原文链接:http://blog.51cto.com/tenderrain/1657376,如需转载请自行联系原作者