mysql 优化相关

来源:互联网 发布:jenkins 更改端口 编辑:程序博客网 时间:2024/05/15 03:55
tinyint 1字节
smallint 2字节
int 4字节
unsigned
TINYINT        1字节        (-128,127)          (0,255)            小整数值 
SMALLINT       2字节     (-32 768,32 767)       (0,65 535)         大整数值 
MEDIUMINT      3字节    (-8 388 608,8 388 607) (0,16 777 215)      大整数值 
INT或INTEGER   4字节   (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值 
BIGINT         8字节   (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值 


CHAR         0-255字节          定长字符串 
VARCHAR      0-255字节          变长字符串 


浮点数 :float
定点数 : decimal 



Mysql 存储引擎中InnoDB与Myisam的主要区别 


1, 事务处理
innodb 支持事务功能,myisam 不支持。
Myisam 的执行速度更快,性能更好。


2,select ,update ,insert ,delete 操作


MyISAM:如果执行大量的SELECT,MyISAM是更好的选择
InnoDB:如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表


3,锁机制不同


InnoDB 为行级锁,myisam 为表级锁。
注意:当数据库无法确定,所找的行时,也会变为锁定整个表。
如: update table set num = 10 where username like "%test%";


4,查询表的行数不同
MyISAM:select count(*) from table,MyISAM只要简单的读出保存好的行数,注意的是,当count(*)语句包含   where条件时,两种表的操作是一样的


InnoDB : InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行
0 0