谈Mysql优化技巧?你知道分为几个方向吗?
我们在之前的文里谈到了mySQL的底层原理,现在我们再来了解下mySQL的优化技巧。说起MySQL的查询优化,相信大家收藏了很多很多,例如不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型…
但是你真的理解这些优化技巧?真的理解其背后的工作原理?在实际场景下性能真有提升吗?
在整个学习中,理解这些优化建议背后的原理就尤为重要,希望本文能让你重新审视这些优化建议,并在实际业务场景下合理的运用。
mySQL的优化大致分为硬件优化、MySQL参数优化、SQL语句方面的优化、表方面的优化这四类优化方向,九种优化方法为选择最合适的字段属性、尽量把字段设置为NOT NULL、使用连接(JOIN)来代替子查询(Sub-Queries)、使用联合(UNION)来代替手动创建的临时表、事务、锁定表、使用外键、使用索引、优化de的查询语句等方法。
硬件优化:cpu,内存,硬盘等硬件的优化;
MySQL参数优化:设置最大连接数,超过两秒的查询记录下来;
SQL语句方面的优化:修改mysql的慢查询;使用查询缓存优化查询;使用EXPLAIN关键字检测查询;添加索引(主键索引/唯一索引/全文索引/普通索引);
表方面的优化:永远为每张表设置一个ID主键;越小的列会越快;建表符合三范式;选择合适的存储引擎;mysql读写分离;对表进行水平分割;对表进行垂直分割;如果你的数据库的存储引擎是myisam,请一定记住要定时进行碎片整理。
在MySQL的优化方法方法中,一定要记得这几点!
-
Mysql是一种关系型数据库,可以很好地支持大数据量的存储,但是一般来说,数据库中的表越小,在它上面执行的查询也就越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度舍得尽可能小。
-
尽量把字段设置为NOT NULL。在MySQL中,ENUM类型被当做数值型数据来处理,而数值型数据被处理起来的速度要比文本类型要快得多,这样我们又可以提高数据库的性能。
-
MySQL从4.1开始支持SQL的子查询。这个技术可以使用select语句来创建一个单例的查询结果,然后把这个结果作为过滤条件用在另一个查询中。
-
使用union来创建查询的时候,我们只需要用union作为关键字把多个select语句连接起来就可以了,要注意的是所有select语句中的字段数目要相同。
-
可以使用子查询、连接和联合来创建查询,但不是所有的数据库都可以只用一条或少数几条就可以完成的,更多的时候是需要用一系列的语句来完成某种工作。
6.在事务执行的过程中,数据库将会被锁定,如果有成千上万的用户同时访问一个数据库系统,,就会产生比较严重的响应延迟,于是可以通过锁定表的方式来获得更好的性能。
7.锁定表的方法可以维护数据的完整性,但是他却不能保证数据的关联性,这时我们可以使用外键。
8.索引是提高数据库性能的常用方法,可以令数据库服务器比没有索引时速度快得多,性能提高更为明显。
- 不使用子查询;避免函数索引;用IN来替换OR;禁止不必要的ORDER BY排序;批量INSERT插入。
以上就是关于MySQL的优化技巧,你知道了吗?
- 点赞
- 收藏
- 分享
- 文章举报
- DSP6000的几个简单优化技巧
- DSP6000的几个简单优化技巧
- DSP6000的几个简单优化技巧
- MySQL查询优化:查询慢原因和解决技巧
- mysql 优化中的几个重要参数
- windows server 2008 R2 几个优化技巧
- php导入大量数据到mysql性能优化技巧
- 几个著名的Windows “伪”优化技巧
- 几个mysql性能优化
- WEB程序员需要掌握的十大MySQL优化技巧
- DSP6000的几个简单优化技巧
- mysql 性能优化方向
- 数据库技巧——MySQL十大优化技巧
- 利用服务器的几个调优技巧,让 MySQL 服务器飞速运行
- MySQL高级知识与优化(二):存储过程和函数、常用SQL技巧
- 通过MySQL优化Discuz!的热帖翻页的技巧
- mysql在高内存、IO利用率上的几个优化点
- MySQL十大优化技巧
- 101个MySQL开源数据库调试和优化技巧
- MySQL 优化系列 --2.常见SQL技巧