总结:mysql
2016-06-28 17:03
507 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_20746959/article/details/51777296
InnoDB与Myisam的区别
一.数据库设计
二.sql语句优化
show [ session(默认:本次会话) | global(全局)] status like ‘Connections’:试图连接MySQL服务器的次数
show [ session(默认:本次会话) | global(全局)]status like ‘Uptime’:服务器工作的时间(单位秒)
show [ session(默认:本次会话) | global(全局)] status like ‘Slow_queries’:慢查询的次数(默认是10)Show variables like 'long_query_time':被标记为慢查询的时间
show [ session(默认:本次会话) | global(全局)] status like ‘Com_%’:其中Com_XXX表示XXX语句所执行的次数(Com_select,Com_insert,Com_update,Com_delete通过这几个参数,可以容易地了解到当前数据库的应用是以插入更新为主还是以查询操作为主,以及各类的SQL大致的执行比例是多少。)
如何开启慢查询日志及设置慢查询时间:
修改mysql的配置文件my.ini
![]()
![]()
索引
注:
1.单独设置唯一性不会自动添加唯一索引
2.复合索引:createindex 索引名 on表名(列1,列2);
3.FULLTEXT目的是全文索引,在内容系统中用的多, 在全英文网站用多(英文词独立).中文数据不常用,意义不大,国内全文索引通常 使用 sphinx来完成.
4.修改索引,我们一般是先删除在重新创建.
数据库删除记录后发现对应的文件大小不变?
optimize table 表名:表优化,碎片整理
如果你的数据库的存储引擎是MyISAM的,则当创建一个表后产生三个文件. *.frm 记录表结构. *.myd 记录表数据(MYData),*.myi 记录表索引(MYIndex)。
如果你的数据库的存储引擎是Innodb的,*.frm 记录表结构,如果不指定innodb_file_per_table参数,MySQL的数据都会存放在ibdata1文件;如果指定innodb_file_per_table参数,每个表的数据单独存储为.ibd文件。
InnoDB与Myisam的区别
区别
|
Innodb
|
myisam
|
MySQL默认采用的是MyISAM |
||
事务 |
支持事务,AUTOCOMMIT默认是打开的,即每条SQL语句会默认被封装成一个事务,自动提交(这样会影响速度,所以最好是把多条SQL语句显示放在begin和commit之间,组成一个事务去提交) |
不支持事务 |
外键 |
支持外键 |
不支持外键 |
不支持全文索引 |
支持全文索引 |
|
不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行 |
内置了一个计数器,count(*)时它直接从计数器中读 |
|
如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表 |
如果执行大量的SELECT,MyISAM是更好的选择 |
|
锁 |
提供行锁(locking on row level),提供与 Oracle 类型一致的不加锁读取(non-locking read in SELECTs),另外,InnoDB表的行锁也不是绝对的,如果在执行一个SQL语句时MySQL不能确定要扫描的范围,InnoDB表同样会锁全表,例如update table set num=1 where name like “%aaa%” |
表锁 |
Innodb是索引和数据是紧密捆绑的,没有使用压缩从而会造成Innodb比MyISAM体积庞大不小。 |
MyISAM的索引和数据是分开的,并且索引是有压缩的,内存使用率就对应提高了不少 |
相关文章推荐
- Mysql 常用函数总结(字符串操作函数)
- MySQL 慢查询日志总结
- 关于mysql---- show processlist的总结
- MySQL 主从延迟复制方法总结
- MySQL修改密码方法总结
- mysql 5.0存储过程学习总结
- MySQL 数据库设计 笔记与总结(3)物理设计
- mysql 触发器(trigger) 总结
- mysql索引总结----mysql 索引类型以及创建
- mysql索引之二级索引学习总结
- MySql常用命令总结
- MySQL数据类型和常用字段属性总结
- mysql--数据类型和常用字段属性总结
- Mysql字符串处理函数详细介绍、总结
- MySQL字符集的问题总结
- Spring MVC远程连云服务器mysql的几点总结
- MySQL:日期函数、时间函数总结(MySQL 5.X)
- mysql 5.0存储过程学习总结 (经典)
- mysql--基础知识总结 数据库,数据表基本
- mysql5.6 win 安装 卸载总结