MySQL

MySQL优化(三)——SQL语句优化

/static/image/head.jpg

在MySQL优化中,最常做的事情就是SQL语句优化,因为这个才是影响性能的最主要因素。 explain语句 对SQL语句进行优化少不了使用explain分析SQL语句。下面先来说说怎么使用explain语句。 explain语法 explain语法比较简单,只需要在你要分析的SQL语句前面加上explain即可,如: sql explain select id,name from tb_user; explain语句输出的每一行为对一个语句的分析,来看看每行有哪... 阅读全文>>

MySQL 阅读: 264

MySQL优化(二)——索引优化

/static/image/head.jpg

索引对于加快查询是非常重要的,合理使用索引能够显著提高查询速度。 MySQL中索引的实现 MySQL中索引的实现技术分两种:BTree索引和Hash索引。 BTree索引 BTree索引使用B+树实现。B+树一种多路查找树(如下图),是通过二叉查找树,再由平衡二叉树,B树(又名B树)演化而来的,B+树中的B不是代表二叉(binary),而是代表平衡(balance),因为B+树是从最早的平衡二叉树演化而来,但是B+树不是一个二叉树,是多叉树。 B+树 Hash索引... 阅读全文>>

MySQL 阅读: 125

MySQL优化(一)—— 表的优化

定长与变长分离 所谓定长与变长分离是指:将表中固定长度的字段和可变长度的字段分开,将他们放在不同的表中。 固定长度类型:整型、浮点型、时间和日期型、enum、set、文本中char型 可变长度类型:除char外的文本型、blob 为什么要这么做呢?如果一个表中的字段都是固定长度的字段,那么每行记录的长度都是固定的(fixed),这样如果想找到第N行的数据位置,直接使用N*RowSize即可,访问速度很快。 所以建议将核心字段设置为固定长度, 而变长字段,适合单放一张表, ... 阅读全文>>

MySQL 阅读: 134

MySQL多列索引和经典案例

/static/image/head.jpg

以前只知道索引可以加快查询速度,而具体为什么会加速快速,对于多列索引也不清楚,也没有用过多列索引,今天了解了一下。 多列索引 多列索引是指定多个列组合为一个索引,MySQL将会将多个列的值组合计算后构建索引表。使用多列索引要比使用多个单列索引要快得多。 为什么这么说呢?因为当一个SQL语句中出现多个索引字段时候,它并不能每个索引都能得上,实际上它也**只能使用其中一个单列索引去查找**(MySQL会选择最精确的那个索引),为什么?我们可以把索引类比成一本书的目录,都是用来快速... 阅读全文>>

MySQL 阅读: 232

Linux下安装MySQL 5.5

/static/image/head.jpg

MySQL是PHP中开发比不可少的,学习Linux下安装MySQL也是必须的,今天在这里总结一下。注意这里是5.5版本的,5.6及以上安装有一些区别。 下载MySQL安装包 打开官网:https://dev.mysql.com/downloads/mysql/ mysql5.5下载 点击“Download”,进入下载页,点击“No thanks, just start my download.”下载,然后复制下载链接,使用wget下载: shell cd /usr/loca... 阅读全文>>

MySQL 阅读: 200