MySQL数据库其他优化方法

浏览: 422 2017年12月15日
最后一章,谈谈前面没有涉及的一些优化方法。1. My.ini配置文件这里只介绍两个最重要的,其他的不过多介绍。1) 配置 最大连接数默认为100,建议设为1000经csdn网友建议,参考自Prevent MySQL downtime: Set max_user_connectio...

优化Sql语句

浏览: 377 2017年12月14日
上一章讲了如何设计一张好的表,一张好的表自然需要好的sql语句去操作它。本章就来聊聊如何优化sql语句。1. Sql语句优化原则优化需要优化的Query定位优化对象性能瓶颈从Explain入手尽可能在索引中完成排序只取自己需要的Column尽可能避免复杂的join和子查询 2. ...

设计一张漂亮的表

浏览: 422 2017年12月12日
上一章讲了如何通过索引来提速我们的查询语句,这一章让我们回到数据库开发的初始阶段,建表。谈谈怎样设计一张漂亮的表。1. 满足三范式1NF: 即表的列的具有原子性,不可再分解,即列的信息,不能分解, 只要数据库是关系型数据库(mysql/oracle/db2/informix/sysba...

解决like ’%str’ 时索引不被使用的4种方法

浏览: 601 2017年12月08日
7. 解决like’%str’不使用模糊查询的4种方法上一讲最后说了,只要模糊查询的模糊值在字符串前面,则不会使用索引,‘%aaa’和‘_aaa’都不会!如下应该说这是Mysql给程序员们开的一个玩笑。要是我的表数据量很大,而且又需要使用like’%%’这样的模糊查询来检索时,该怎么办...

加了索引但不被使用的几种常见可能

浏览: 366 2017年12月06日
添加了索引但不被使用的几种常见可能上一讲聊了什么时候不要使用索引,但有时候使用了也不见得会被使用。下面是几种添加了索引但不被使用的情况1) 多列索引查询条件没有使用最左边的字段对于创建的多列索引,如果查询条件没有使用最左边的列,索引就不会被使用。多列索引:一个索引对应多个列比如我创建了这么...

什么情况下不要使用索引

浏览: 430 2017年12月05日
什么情况下不要使用索引既然索引是有代价的,那么就不要在不应该使用索引的情况下去使用它。1) 数据唯一性差的字段不要使用索引比如性别,只有两种可能数据。意味着索引的二叉树级别少,多是平级。这样的二叉树查找无异于全表扫描。2) 频繁更新的字段不要使用索引比如logincount登录次数,...

索引的代价

浏览: 420 2017年11月30日
4. 索引的代价前面几讲介绍了索引在提高性能方面的威力以及如何使用索引,但是索引也是有开销的1) 占用磁盘空间如前面所述,索引是有开销的,表现在添加索引后.ibd文件(innodb引擎)或者.myi文件(myisam引擎)会变大。2) 导致dml操作速度变慢添加索引后之所以...

索引的相关操作

浏览: 402 2017年11月29日
3. 索引的相关操作上一讲我们介绍了索引的作用和种类,这一讲我们谈谈索引的相关操作!1) 添加索引前面已经有所介绍,这里总结一下添加主键索引create table aaa (id int unsigned primary key auto_increment , name ...

索引的作用和索引的种类

浏览: 469 2017年11月24日
上一章我们学习了使用explain来生成一个查询执行计划(QEP),从而发现语句存在的问题。在explain返回的结果中,有三个是和索引有关的(possible key、key、extra),可见索引在改善查询效率上的显著地位。这一章,我们将全方位讲解如何使用索引来优化我们的数据库。1. ...

Explain性能分析命令

浏览: 455 2017年11月16日
上一章我们将了如何发现慢查询并把语句记录到日志中,那么在发现慢查询后,要怎样才能知道语句的问题发生在哪里。本章将介绍怎样使用Mysql提供的数据库性能分析命令,对sql语句进行分析。二、数据库性能分析Explain命令Explain的作用是生成一个QEP(查询执行计划),可以帮助我们在不真正执行...

记录慢查询

浏览: 523 2017年11月14日
上一讲我们为慢查询的发生做了数据准备,这一讲就让我们来发现慢查询,同时把它记录到文件中。3. 记录慢查询此时我们已经有让慢查询发生的成本了。执行以下语句,你就知道什么叫慢!查!询!select empno from emp where ename=''; 一个很明显找不到结果的查询语...

慢查询数据准备

浏览: 547 2017年11月13日
上一讲我们谈论了慢查询的定义,这一讲我们来创建一张大表,为慢查询做数据准备。2. 慢查询数据准备要想发现慢查询,首先要使慢查询发生。在一张普通数量级的表格中是不能发生慢查询的,除非你对于慢查询的定义时一个毫秒。因此我们必须手动创建一张大数量级的表,这里选择创建一张40万数量级的表(同学...

前言&慢查询定义

浏览: 491 2017年11月10日
本套教程共十三讲。在这系列的教程中,你将会学到1. 如何一步步地优化数据库2. 如何把索引的作用发挥的淋漓尽致3. 如何解决MySQL在like’%xxx%’模糊查询的情况下不使用索引4. 如何设计一张优质的表5. 如何写出高质量的sql语句6. ...