像sql语句如何进行调优,基本上在中高级程序员面试中都有可能会被问到。

所以说,了解,或者学习一下如何进行sql调优是必要的。

我会关于该sql调优文章出一个系列的博客。与大家一起学下去

首先不具体进行介绍,先大体的概括一下,因为答案基本是死的,但是处理方式是活的

MySQL性能优化/概述

1.数据库的设计

目前只要知道三范式就可以了

2.数据库的分表分库

分库分为两种,水平分割和垂直分割

分表是在同一个数据库当中,减少一个表的查询压力

3.怎么定位慢查询

如果需要知道定位在哪里进行sql调优,那么我们就需要慢查询了

4.数据库索引的优化、索引原理

5.sql的调优

6.数据库的读写分离

可以使用mycat中间件来做读写分离

7.存储过程、触发器、函数

存储过程你可以看成一块sql语句,一个整体,也就是执行很多条sql语句。

好处是安全性高,你看不到sql语句,你只需要传参就行了。其实一般也就银行项目用到。

弊端就是,sql语句都是写死的,不好灵活改变。

MySQL如何实现优化

1.数据库设计合理

首先第一点,数据库设计要合理,一般都要遵循三范式。

数据库设计基本上考察的是工作经验,如果你经验不足,可能数据库设计的不合理,导致开发困难。

2.添加索引

其次就是添加索引,如果不加索引,基本上查找都叫全表扫描

当你使用了索引时,索引底层使用的BTree,和折半查找算法差不多,可以减少全表扫描的时间

索引分为:普通索引,主键索引,唯一索引和全文索引

3.分表分库技术

还有就是分表分库技术,主要是为了减少单张的查询量。

在外面的核心是通过哈希移植性,也就是取模分表,还有水平分割,垂直分割

4.读写分离

还有就是读写分离

也就是读一个写一个,减少io量,提高io性能

5.存储过程

另外就是使用存储过程,比直接执行sql语句,使用jdbc连接效率高

这点基本

6.配置mysql最大连接数

其实就是并发的时候,提高了并发性能

一般在my.ini中配置

7.mysql服务器升级

也就是把服务器弄好一点

8.随时清理碎片化

9.sql语句的调优

其实也就是上面这九点。但是实际上需要我们调优的核心只有:

sql语句调优,添加索引,分表分库,读写分离,还有数据库设计

其他的都是小细节上面的

怎么实现优化,在后面的文章,我会一一道来

作者:谙忆, 所有权利保留。

欢迎转载,分享是进步的源泉。