这些有效的MySQL数据优化方法,你知道吗?
数据库的增删改查的效率在开发中是十分重要的,好的数据库优化方法可以让你的数据库效率更高,今天小编来总结一些优化数据库的方法。
一:表优化
一般情况下表的数据越小,查询的速度也就越快:
1.垂直拆分表:把一个表中特别长的字段拆分成多张表,然后在查询时进行关联查询,这样可以有效的提高查询效率。
2.字段属性设置:长度类型设置够用就行,比如能设置成varchar(10)的就不要设置成varchar(100);对于某些只有固定几个值可选的字段,例如“性别”等,可以将它们定义为tinyint或int类型,因为在MySQL中,数值型数据被处理起来的速度要比文本类型快。
二:sql语句优化方法
1.索引可以加快查询速度但是有的操作却能破坏索引,比如:!=,<>操作符等会使索引失效。
2.尽量不要在 where 子句中使用 or 来连接条件,这样会破坏索引。
3.使用LIKE '%ABC'或LIKE '%ABC%'类型的查询也会破坏索引使索引失效,可以尝试使用全文搜索。
4.应尽量避免在 where 子句中对字段进行表达式操作或进行函数操作,这将导致引擎放弃使用索引而进行全表扫描
5.不要使用 select * from table ,用具体的字段列表代替“*”,不要返回用不到的任何字段。
6.避免频繁创建和删除临时表,以减少系统表资源的消耗。
7.尽量避免向客户端返回大数据量,若数据量过大,应该考虑相应需求是否合理。
8.尽量避免大事务操作,提高系统并发能力。
三:用UNION来代替临时表
union查询,它可以把需要使用临时表的两条或更多的select查询合并的一个查询中。客户端的查询结束时,临时表会被自动删除,从而保证数据库整齐、高效。
四:事务
虽然大部分的查询都可以使用:子查询(Sub-Queries)、连接(JOIN)和联合(UNION)来创建各种各样的查询,但不是所有的数据库操作都可以只用一条或少数几条SQL语句完成的。很多时候需要查询多张表,这是如果其中一条语句查询错误那么后面的执行对于需求来说将没有任何意义,这是就造成了不必要的操作,这是可以使用事务进行回滚,不去执行下面的错误语句。
相关文章
- Redis实战9-全局唯一ID
- django 用表单验证数据
- RNA-seq 详细教程:注释(15)
- 在centos系统上安装mongodb数据库
- 大数据必知必会:Zookeeper(2)伪分布式安装
- 【视频】什么是非线性模型与R语言多项式回归、局部平滑样条、 广义相加GAM分析工资数据|数据分享|附代码数据
- linux系统安装的mysql数据库root帐户密码忘记的两种处理方法
- 质量改进:EHR能提高FMEA的表现吗?
- vivo 超大规模消息中间件实践之路
- 振弦采集模块配置工具VMTool 扩展功能数据处理
- 采用OGG12.2同步MySQL5.7数据至Oracle11g
- 2. DRF入门
- 可搜索加密:VFSA方案
- Innodb Buffer Pool详解
- MySQL 8.0 Atomic DDL
- Unittest+Python接口自动化测试如何进行token关联?
- MySql基础-笔记1 -Windows下安装配置图文教程
- MySql基础-笔记2 -数据库创建、删除、选择等操作
- MySql基础-笔记4 -数据表创建、删除和数据插入、查询等操作
- MySql基础-笔记5 -WHERE 、UPDATE、DELETE、LIKE、UNION使用