Mysql知识点
2015-06-02 10:18
549 查看
InnoDB引擎与MyISAM引擎区别.
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的写法是为了检化程序中对条件的检测。
MyISAM | InnoDB |
表级锁 | 行级锁 |
非事物安全 | 事物安全性 |
全文索引 | 不支持全文索引 |
OLAP联机分析处理 | OLTP 联机事物处理 |
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的写法是为了检化程序中对条件的检测。
相关文章推荐
- MySQL中的integer 数据类型
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜
- MySQL 备份与恢复
- MySQL 优化
- MySQL 数据类型
- Facebook's New Real-time Messaging System: HBase to Store 135+ Billion Messages a Month