mysql
yuezming
哈哈哈
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
表的优化和列类型的选择
表优化1:定长与边长分离 如id int ,占四个字节;char(4),占四个字符长度,也是定长;time即每一个单元值占的字节是固定的; 核心且常用字段,宜建成定长,放在一张表,而varchar、text、bolb这种边长的字段,适合单方一张表,用主键与核心表关联起来。 2:常用字段和不常用字段分离 需要原创 2017-05-29 12:54:33 · 317 阅读 · 0 评论 -
索引优化策略
1:索引类型1.1B-tree索引注:名叫btree索引,大的方面看,都用的平衡树,但具体的实现上,个引擎稍有不同,比如,严格的说,NDB引擎,使用的是T-tree索引myisam mnodb中默认使用B-tree索引;但抽象一下 b_tree系统,可理解为为‘排好序的快速查找结构’1.2hash索引 在memory(内存)表里,默认是hash索引,hash的理原创 2017-05-29 13:32:30 · 494 阅读 · 0 评论 -
聚族索引和非聚簇索引
聚簇索引是对磁盘上实际数据重新组织以按指定的一个或多个列的值排序的算法。特点是存储数据的顺序和索引顺序一致。一般情况下主键会默认创建聚簇索引,且一张表只允许存在一个聚簇索引。聚簇索引的叶子节点就是数据节点,而非聚簇索引的叶子节点仍然是索引节点,只不过有指向对应数据块的指针。因此,MYSQL中不同的数据存储引擎对聚簇索引的支持不同就很好解释了。下面,我们可以看一下MYSQL中MYIS原创 2017-05-29 14:41:54 · 801 阅读 · 0 评论 -
聚簇索引的页分裂
在MySQL中,MyISAM采用的是非聚簇索引的,InnoDB存储引擎是采用聚簇索引的。聚簇结构的特点:根据主键查询条目时,不用回行(数据就在主键节点下)如果碰到不规则数据插入时,造成频繁的页分裂为什么会产生页分裂?这是因为聚簇索引采用的是平衡二叉树算法,而且每个节点都保存了该主键所对应行的数据,假设插入数据的主键是自增长的,那么根据二叉树算法会很快的把该数据添加到原创 2017-05-29 14:44:53 · 633 阅读 · 0 评论 -
MySQL数据库覆盖索引
不过,还有一个无法解释的问题就是,不用覆盖索引的情况下,为什么用MyISAM就快那么多,而InnoDB就慢这么多呢?求真相……原文出处:http://xiaobin.net/201109/strange-sql-performance-problem/原创 2017-05-29 14:48:08 · 336 阅读 · 0 评论 -
sql语句优化
1:sql语句的时间花在哪儿了?答:等待时间,执行时间 这两个时间并非孤立的,如果单挑语句执行快了,对其它语句的锁定也就少了,所以我们分析如何降低执行时间2:sql语句的执行时间又花在哪儿了?答:查找---》沿着索引查找,慢者可能全表扫描 取出---》查找行后,把数据取出来3:”如何查询快? a) 查询的快,联合索引的顺序,区分度,长度原创 2017-05-31 10:17:35 · 302 阅读 · 0 评论 -
explain的分析
id:代表select 语句查询的编号,如果是连接查询,表之间是平等关系,select 编号都是1,从1开始,如果某select中有子查询,则编号递增例如:EXPLAIN select * FROM acs_platform_notice where id in (select id FROM acs_platform_notice where id=32)EXPLAIN select原创 2017-05-31 10:38:28 · 401 阅读 · 0 评论
分享