原标题:面试题大全-mysql性能优化方案

表结构优化:

1、根据自己的业务选择合适的引擎

2、表设计时尽量符合第三范式

第一范式:表的列的具有原子性,不可再分解,即列的信息,不能分解, 只有数据库是关系型数据库就自动的满足。

第二范式:表中的记录是唯一的, 就满足第二范式, 通常我们设计一个主键来实现

第三范式:表中不要有冗余数据, 即表的信息,如果能够被推导出来,就不应该单独的设计一个字段来存放.

为什么说尽量符合? 因为有些系统为了提高运行效率,就必须降低范式标准,适当保留冗余数据。

3、表的字段尽可能使用NOT NULL

4、如果知道字符串固定长度,那么就用char型,不要用varchar型

5、主从分离,读从库,写主库

6、当表的字段过多时,进行垂直分割;如果数据过多时,进行水平分割

sql优化:

1、不使用Select *,只查询需要的字段,查询所有占用内存

2、多表连接时,尽量小表驱动大表,即小表 join 大表

3、插入多条数据时,尽量组合成一天sql批量插入

4、使用存储过程

5、使用枚举或整数代替字符串类型

6、开启慢查询,对慢sql使用explain或desc进行性能分析,并优化sql

索引优化:

索引并不是越多越好,要根据查询有针对性的创建,考虑在WHERE和ORDER BY命令上涉及的列建立索引,可根据EXPLAIN来查看是否用了索引还是全表扫描

应尽量避免在WHERE子句中对字段进行NULL值判断,否则将导致引擎放弃使用索引而进行全表扫描

值分布很稀少的字段不适合建索引,例如性别这种只有两三个值的字段

字符字段只建前缀索引

字符字段最好不要做主键

不用外键,由程序保证约束

尽量不用UNIQUE,由程序保证约束

使用多列索引时主意顺序和查询条件保持一致,同时删除不必要的单列索引(最左匹配原则返回搜狐,查看更多

责任编辑:

mysql性能调优面试题_面试题大全-mysql性能优化方案相关推荐

  1. Java性能调优、LinkedIn容器部署、阿里移动性能调优——首届APMCon精彩演讲先睹为快...

    APMCon2016,在盛夏的8月等你. \\ 作为第一届APM垂直领域的技术大会,我们能拿出什么呈现给参会者? \\ 答案是,除了会场可以纳凉避暑之外,还有来自国内外顶级技术大拿带来的Java性能管 ...

  2. MySQL性能调优与架构设计——第4章 MySQL安全管理

    第4章 MySQL安全管理 前言 对于任何一个企业来说,其数据库系统中所保存数据的安全性无疑是非常重要的,尤其是公司的有些商业数据,可能数据就是公司的根本,失去了数据的安全性,可能就是失去了公司的一切 ...

  3. 性能测试分析与性能调优诊断--史上最全的服务器性能分析监控调优篇

    来源: https://www.cnblogs.com/laoqing/p/11629941.html 一个系统或者网站在功能开发完成后一般最终都需要部署到服务器上运行,那么服务器的性能监控和分析就显 ...

  4. JVM性能调优监控工具专题一:JVM自带性能调优工具(jps,jstack,jmap,jhat,jstat,hprof)...

    2019独角兽企业重金招聘Python工程师标准>>> 前提概要:         JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外 ...

  5. hive性能调优实战pdf_1分钟带你入门JVM性能调优,实战解析调优工具

    JVM的运行参数 1.1 三种参数类型 标准参数 help -version -X参数 (非标准参数) -Xint -Xcomp -XX参数(使用率比较高, 常用语jvm调优) -XX:newSize ...

  6. linux性能调优看这篇就懂,[转载]Linux性能调优

    译注:本文译自linuxforums.org上的一篇文章<Linux Performance Tuning>(原文作者Fernando Apesteguia发表于2006年)翻译此文仅为英 ...

  7. MYSQL性能调优及架构设计学习笔记-影响MYSQL性能的相关因素之实例分析

    为什么80%的码农都做不了架构师?>>>    需求概述 一个简单的讨论区系统,需要有用户,用户组,组讨论区这三部分基本功能 简要分析 1) 须要存放用户数据的表: 2) 须要存放分 ...

  8. Spark性能调优系列:Spark参数配置大全(官网资料)

    Spark参数配置大全 Spark提供了三个位置来配置系统 Spark属性控制大多数应用程序参数,可以使用SparkConf对象或Java系统属性来设置. 通过conf/spark-env.sh每个节 ...

  9. jvm性能调优实战 -60 线上系统的JVM参数优化、GC问题定位排查、OOM分析解决

    文章目录 总结 总结 第一个是JVM运行我们写好的系统最根本的工作原理,包括: 内存各个部分的划分 代码在执行的过程中,各个内存区域是如何配合协调工作的 对象是如何分配的 GC如何触发 GC执行的原理 ...

  10. jvm性能调优实战 - 34十万QPS的社交APP 如何优化GC性能提升3倍?

    文章目录 Pre 案例背景 高并发查询导致对象快速进入老年代 老年代必然会触发频繁GC 优化前的线上系统JVM参数 频繁Full GC导致的大量内存碎片 如何进行优化? 思考题 Pre 这篇文章开始, ...

最新文章

  1. 【转载】并发数据结构
  2. java stringbuffer原理_String,StringBuilder,StringBuffer 实现原理解析
  3. iphone11系列的尺寸_最强新款iPhone11系列选购指南,哪一款才是最适合自己的?...
  4. 如何实时主动监控你的网站接口是否挂掉并及时报警
  5. 从相册获取图片,并获取裁剪后图片(系统自带)
  6. Reef Finance与Manta Network就流动性解决方案达成合作
  7. deepnode处理过的图片_微信图文排版用什么软件?文章图片大小不一样排版不齐怎么办?...
  8. 时序数据库InfluxDB 2.0 alpha 发布:主推新的Flux查询语言,TICK栈将成为整体
  9. Jquery中extend的理解以及常见用法
  10. 阿里2015回顾面试招收学历(获得成功offer)
  11. Ubuntu/Linux下7款轻量级编辑器推荐
  12. 笔记本触摸板双指失灵
  13. 【python学习笔记】Python对经纬度处理
  14. iphone文件服务器权限,苹果手机怎么开启文件共享权限
  15. 如何进行有效的计划管理?
  16. MFC更改对话框的背景色
  17. 草地与石头模型边缘混合
  18. (C++题目)定义一个描述学生基本情况的类Student,数据成员包括姓名、学号、英语成绩和高数成绩;成员函数包括构造函数、析构函数、获取姓名、获取学号、求出平均成绩,以及显示各
  19. 如何用VScode 进行调试
  20. 使用idea搭建ssm框架,并实现简单的CRUD和分页查询功能

热门文章

  1. html代码实现全国地图分布,html5 svg浙江地图map省市地区代码
  2. 使用mathematica求解最优化模型
  3. WDX-2型智能电能表校验仪操作程序
  4. java snmp walk,snmpwalk命令常用方法总结(转)
  5. pci串口驱动安装失败_PCI转串口卡驱动安装问题
  6. 微信小程序图片无法显示时显示默认图片
  7. 【DBAI】《基于机器学习的数据库技术综述》
  8. c语言中存储点分十进制IP地址
  9. VS Code的相对路径问题 (No such file or directory: './lenna.png')
  10. 安卓模拟器安装教程_[教程]安卓手机如何安装百度输入法五笔字根皮肤[教程]...