MySQL优化详解(二)——数据库架构和使用优化
今天继续给大家介绍MySQL的相关知识,本文主要内容是MySQL架构和使用优化
一、数据库设计与规划
在生产环境中,对数据库的设计和规划要根据不同的业务场景来进行,并根部不同的要求采取不同的技术。总得来看,数据库在设计时要想增强性能,可以才用的主要是有纵向拆解和横向拆解两个思路。
所谓纵向拆解,就是指在资源和经费允许的情况下,单机单用,把提供WEB前端服务的设备与提供数据库服务的设备分割开,避免他们之间互相争用系统资源,避免了性能下降和架构的不稳定性。
所谓横向拆解,就是指当纵向拆解后,单个数据库还是无法达到性能需求时,可以考虑采用主从同步、读写分离、负载均衡、集群、高可用等手段,将多个数据库组成集群,共同提供数据服务支持,同时避免单点故障, 以达到稳定、高效的效果。
二、查询SQL语句优化
在生产环境中,查询的SQL语句占了所有数据库交互命中大多数,因此,对查询的SQL语句进行优化是进行数据库优化,提升数据库性能的一项重要手段。对查询SQL语句的优化主要可以采用以下思路:
1、合理的建立数据表的结构,避免单个数据表过大。例如,查询含有10万条数据的表比查询10个含有1万条数据的表所花费的时间要多。同时对于数据表中的字段要选择合适的类型,以有利于节省空间和查询速度。
2、要根据业务场景建立合适的索引,索引并非越多越好,但是在经常查询的列可以考虑建立索引来节省时间。
3、在查询时,要巧妙的选用SQL语句,尽量减少逻辑运算。
4、减少查询无关的列,在select查询语句中,需要哪一列就查询哪一列。并且,永远不要使用select *语句,尽管该语句在写法上非常方便,但是实际上,在执行该命令的时候,数据库需要花费额外的资源,来查询该数据表究竟有哪些列。
5、慎重使用事务,虽然事务在功能上相当强大,但是事务的实现本身是借助锁的机制,会极大的消耗系统资源。
6、建立和使用存储过程,来减少系统消耗和与外界系统的交互。
7、不要出现过于复杂的查询,当必须这么做时,可以把这些查询语句分解成多个小的查询语句;但是,对于一些本身不是很复杂的查询,又可以把多个小的查询语句组合成一个大的查询语句,以此来减少每次建立查询链接的消耗。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
相关文章
- MySQL数据库实践学习(二十七)
- MySQL优化数据库结构
- 快速连接:PHP与MySQL的数据库通信(php链接mysql数据库)
- 搭建Tomcat连接MySQL数据库的快速指南(tomcat连接mysql数据库)
- MySQL简介:开放源代码数据库管理系统(mysql简介)
- MySQL:如何快速删除数据库表(mysql数据库表删除)
- 数据库支持搭建多个Mysql数据库以支持业务升级(多个mysql)
- 提高mysql数据库查询效率:优化索引使用(mysql数据库索引使用)
- 出数据MySQL数据库中如何快速取出数据(mysql取)
- MySQL数据库:支持事务吗?——小白入门指南。(mysql是否支持事务)
- MySQL:快速添加表格数据(mysql 表添加数据)
- MySQL 配置文件优化:提升性能(mysql 配置文件优化)
- MySQL中的Sum函数用法详解(mysql中sum使用)
- MySQL中使用SSH的安全连接方式(mysql中ssh)
- MySQL数据对比比较两行值(mysql 两行值比较)
- MySQL 56前所未有的数据库性能提升(5.6mysql)
- 究竟有多少探讨MySQL一条数据的容量限制(mysql一条数据容量)
- MySQL主从复制的不同架构一主多从一主多双主从等解析(mysql一主多双主多从)