数据库优化分层思想

可以分别从SQL语句层面、SQL配置层面、SQL架构层面和业务层面来优化。

 SQL 语句层面

  1. 调优策略

	 	*号的处理(只是提取必要字段,减少流量)大SQL(拆分、逐步缩小结果集)合理的索引(where字句后面的条件)类型转换(“符号的使用)尽量不要用范围查询,或者缩小检索范围(e.g.程序逻辑 update)

  2. 哪些SQL需要调优

		找开发查看程序日志(e.g.接口 -> 后台服务)查看慢查询日志查看统计:最多调用、最占流量

SQL配置层面

  1. 哪些配置需要关注

		Query_Cachemax_connectionswait_timeoutlock

SQL架构层面

    

		主从复制(读写分离)考虑数据一致性分库分表(UID倒数几位取模)映射关系是否均匀负载均衡LVS、F5、Nginx多级缓存redis

业务层面的思考

	表字段拆分1.某些列字段不常用2.text(适用key-value)拆分出来,新建一个详情表方便运维(DDL)、便于缓存、提高查询性能冷数据备份把每年历史数据导出去,缩小检索范围程序逻辑的处理UPdate全表的例子

  

  

转载于:https://www.cnblogs.com/evilxr/p/4001240.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/292849.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Prism源代码解析(IRegionManager)

概要本文主要介绍Prism的IRegionManager, 主要分析源代码的执行流程, 来介绍内部实现的几个核心接口调用过程。通过本文, 你可以熟练的掌握Prism当中以下接口的作用以及使用方法, 如下所示:IRgionManagerINavigationAwareINavigateAsyncIRegionNavigationServiceIConfirmNaviga…

微博与Redis系统技术文章记录

Redis 持久化,有两种: rdb 和 aof, rdb是记录一段时间内的操作,一盘的配置是一段时间内操作超过多少次就持久化。 aof可以实现每次操作都持久化。 这里我们使用aof。 配置方式,打开redis的配置文件。找到appendonly。…

求字符串里面数字之和

无意看到别人面试问了很简单的问题,求字符串里面数字之和,所以自己来实现下。 例子: 比如字符串:aaaa13sseui9ddu78ff4sss 里面的字符串数字是13、9、78、4 得到的和为104 代码如下: package com.sangfor.tree;public class SumByString {public static int sumByStri…

android用于打开各种文件的intent

import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.net.Uri.Builder; import java.io.File; import android.content.Intent; //自定义android Intent类, //可用于获取打开以下文件的intent //PDF,PPT,WORD,EXC…

Android后台强制结束进程,Application入口或者activity回调的是哪个方法?

问题描述dengdeng 解决方案1如果是系统强制结束,不会调用的 转载于:https://www.cnblogs.com/yiguobei99/p/4002126.html

python mysql数据库_Python3中操作MySQL数据库

0.安装 pip install pymysql 1.打开数据库连接 import pymysql db pymysql.connect(host"数据库地址", user"用户名", password"密码", port"端口", database"数据库名", charsetutf8) 2.创建游标 cursor db.cursor() 3.操…

日本的电视节目到底能有多特别?

1 是不是设计师忘了开扇窗?(素材来源网络,侵删)▼2 路灯:???(素材来源网络,侵删)▼3 当代大学生的真实水平(素材来源网络&#xff0…

记一次 Oracle无法连接 问题分析

前言今天,同事告诉我,有台Oracle服务器异常断电,重启后发现无法连接了。分析过程1.检查服务状态查看Oracle的listerner服务和service服务,发现都是正在运行状态,说明服务是正常的。2.检查端口状态在客户机上使用&#…

最详细的最小堆构建、插入、删除的过程图解

转载:http://blog.csdn.net/hrn1216/article/details/51465270 1.简介 最小堆是一棵完全二叉树,非叶子结点的值不大于左孩子和右孩子的值。本文以图解的方式,说明 最小堆的构建、插入、删除的过程。搞懂最小堆的相应知识后,最大堆…

为什么要清除浮动

父元素的高度是由子元素撑开的,且子元素设置了浮动,父元素没有设置浮动,子元素脱离了标准的文档流,那么父元素的高度会将其忽略,如果不清除浮动,父元素会出现高度不够,那样如果设置border或者ba…

sublime编辑python_在没有安装Python的前提下,让Sublime text编辑器来运行Py?

sublime text 自带 python 解释器, 可以用来执行 python 代码. 但是 它的环境与标准的就有差异了, 例如, 安装第三方库可能遇到问题, 运行 pip 会出错 sublime 开着, 这个解释器就一直在执行, 而不是每个 python 程序启动独立的解释器 可以写一个 sublime text 插件, 获取当前文…

初探mysql数据库模式(一)

数据库模式是什么? 数据库模式是描述整个数据库的数据结构和数据库底层架构的事务。它分为逻辑模式(俗称:“模式”),外模式(俗称:“子模式”or“用户模式”),内模式(俗称:“存…

Kubernetes:标签、选择器、注解、容忍度、亲和性

在前面的学习中,我们学到了 Deployment 部署,以及副本数(ReplicaSet),但是 Pod 部署到哪个 Worker 节点是随机的,即使有 3个 Woker 和 3个 Pod 副本,不一定每个 Node 刚刚好运行一个 Pod,也可能其中一个 No…

数学界最恐怖的存在!54张图读懂2600年数学史,看完跪下了......

全世界只有3.14 % 的人关注了爆炸吧知识“中国现代数学之父”华罗庚曾说过宇宙之大,粒子之微火箭之速,化工之巧地球之变,生物之谜日用之繁,无处不用数学回首往昔数学始终伴随我们左右纵横交错的几何、繁琐复杂的运算难以求解的方程…

R中大数据量数据框的合并慎重使用rbind

最近在用R处理百万级的数据,程序本身是线性扫描,可是随着数据量的增加,运行时间却不是线性增加,一度几天都运行不完。 怀疑是其中rbind函数造成的,查询到这篇文章,也说了这个问题 http://blog.sina.com.cn/…

realloc函数使用总结

realloc原型是extern void *realloc(void *mem_address, unsigned int newsize); 函数说明 语法 指针名=(数据类型*)realloc(要改变内存大小的指针名,新的大小)。 新的大小可大可小(但是要注意,如果新的大小小于原内存大小,可能会导致数据丢失,慎用!) 头文件 #incl…

const constexpr C++ 解释

中的const可用于修饰变量、函数,且在不同的地方有着不同的含义,现总结如下。 const的语义 C中的const的目的是通过编译器来保证对象的常量性,强制编译器将所有可能违背const对象的常量性的操作都视为error。 对象的常量性可以分为两种&#x…

python顺序结构实验设计_Python程序设计实验报告二:顺序结构程序设计

安徽工程大学 Python程序设计实验报告 班级 物流192 姓名 周立 学号 3190505227成绩 日期 3月4日 指导老师修宇 实验二 顺序结构程序设计(验证性实验) 【实验目的】 (1)掌握数据的输入输出的方法; (2&#…

寒窗苦读十多年,我的毕业论文只研究了一个「屁」

全世界只有3.14 % 的人关注了爆炸吧知识放屁,是公共场合里的社交忌讳。在人头济济的电梯和地铁车厢里,一个呼之欲出的屁,对任何人来说,都是一场心理与生理之间的拉锯战。如果选择放屁,虽然疏通了肠道,但却拉…