MySQL优化一 简绍
优化方面: 存储层:数据表”存储引擎”选取、字段类型选取、逆范式(3范式) 设计层:索引、分区/分表 架构层:分布式部署(主从模式/共享) sql语句层:结果一样的情况下,要选择效率高、速度快、节省资源的sql语句执行 熟悉的存储引擎: Myisam:持的特性有压缩机制等,mysiam的并发性较比innodb要稍逊色,因为数据表是“表锁” Innodb:支持事务、支持行级锁、支持外键,速度比Myisam的要稍慢,并发性高,多人同时请求,速度快、效率高。 memory:内部数据运行速度非常快,临时存储一些信息,服务器如果断电,就会清空该存储引擎的全部数据 存储引擎 存储数据格式,不同存储引擎有自己特点 mysiam 文件:每个数据表都有三个文件(结构、索引、数据) 写入存储数据顺序:存储的顺序与写入顺序一致 并发性:锁机制为“表锁”, 并发性不高 压缩处理:不频繁发生变化的数据适合做压缩 innodb 文件:结构有独立文件,数据与索引合并为一个文件 写入存储数据顺序:根据主键id值的顺序进行数据存储 并发性:并发性好,“行锁” 三范式 字段的原子性,是唯一的,不能再分隔 每一行都能被唯一的区分,强调一个表要有主键 与数据库的冗余有关。一个表不能包含其他表的非关键字信息。也就是说你有其他表的主键作为自己的外键,不能再拿人家的其他字段 逆范式 数据表的总体设计要遵守三范式,但是有的时候为了整体性能的考虑,就不遵守一点,这样就称为“逆范式” 索引 主键索引(primary key)索引是进行数据库设计的时候,提升性能最有效的一个技术。 使用索引好处:可以非常快速定位我们需要找到的信息。 索引为什么速度快:从技术本身的角度看索引,索引就是一种数据结构(寝室大楼),数据结构内部有算法,可以帮组我们快速、准确定位需要的信息。 执行计划explain:一条sql语句在没有执行之前,先把需要的资源都计划好 使用到索引:耗费资源少,查询速度快 没有使用到索引:耗费资源多,查询速度慢 注意:有的字段重复内容很多(例如性别字段),则不要设置索引,不会起作用。 索引原则: 字段独立原则 左原则 模糊查询 复合索引 单独使用第一个字段作为条件,可以使用 单独使用第二个字段作为条件,不能使用 使用全部字段(不用考虑顺序)作为条件,可以使用 OR原则 左右都有索引,会合并索引一起使用 一边有索引、一边没有索引,导致整体都没得索引使用
MySQL优化一 简绍的更多相关文章
- SpringCloud(1)生态与简绍
一:微服务架构简绍学习目标 1.技术架构的演变,怎么一步步到微服务的:2.什么是微服务,优点与缺点 :3.SOA(面向服务)与MicroServices(微服务)的区别 :4.Dubbo 与Spri ...
- MySQL优化聊两句
原文地址:http://www.cnblogs.com/verrion/p/mysql_optimised.html MySQL优化聊两句 MySQL不多介绍,今天聊两句该如何优化以及从哪些方面入手, ...
- 0104探究MySQL优化器对索引和JOIN顺序的选择
转自http://www.jb51.net/article/67007.htm,感谢博主 本文通过一个案例来看看MySQL优化器如何选择索引和JOIN顺序.表结构和数据准备参考本文最后部分" ...
- mysql 优化
1.存储过程造数据 CREATE DEFINER=`root`@`localhost` PROCEDURE `generate_test_data`(`n` int) begin declare i ...
- mysql优化笔记之分页
过年闲得蛋疼,于是看看mysql优化,看了网上好多关于分页的优化方法,但是呢,我亲自试上一把的时候,没有出现他们说的现象...难道是我的机器问题么? 下面看看我的实践记录,希望看到的加入进来交流一下O ...
- MySQL优化概述
一. MySQL优化要点 MySQL优化是一门复杂的综合性技术,主要包括: 1 表的设计合理化(符合 3NF,必要时允许数据冗余) 2.1 SQL语句优化(以查询为主) 2.2 适当添加索引(主键索引 ...
- MySQL优化实例
这周就要从泰笛离职了,在公司内部的wiki上,根据公司实际的项目,写了一些mysql的优化方法,供小组里的小伙伴参考下,没想到大家的热情很高,还专门搞了个ppt讲解了一下. 举了三个大家很容易犯错的地 ...
- Mysql优化系列(2)--通用化操作梳理
前面有两篇文章详细介绍了mysql优化举措:Mysql优化系列(0)--总结性梳理Mysql优化系列(1)--Innodb引擎下mysql自身配置优化 下面分类罗列下Mysql性能优化的一些技巧,熟练 ...
- mysql优化记录
老板反应项目的反应越来越慢,叫优化一下,顺便学习总结一下mysql优化. 不同引擎的优化,myisam读的效果好,写的效率差,使用场景 非事务型应用只读类应用空间类应用 Innodb的特性,innod ...
随机推荐
- ElasticSearch 学习记录之ES几种常见的聚合操作
ES几种常见的聚合操作 普通聚合 POST /product/_search { "size": 0, "aggs": { "agg_city&quo ...
- JavaScript tips ——搞定闰年
前言 处理时间时,常常要考虑用户的输入是否合法,其中一个很典型的场景就是平闰年的判断,网上其实有很多类似的算法,但是其实不必那么麻烦,下面我讲讲的我的思路. 规则 公元年数可被4整除为闰年,但是整百( ...
- Code Kata:螺旋矩阵 javascript实现
1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 如图所示,就是一个5*5的螺旋矩阵 我的思路如下: 第一步:拆分 ...
- PHP中的会话控制
了解HTTP(超文本传输协议)可以知道,它采用请求与响应的模式,最大的特点就是无连接无状态. 无连接:每次连接仅处理一个客户端的请求,得到服务器响应后,连接就结束了 无状态:每个请求都是独立的,服务器 ...
- Android之不须要自己定义View(ViewfindView.java)最简单的二维码扫描
不废话,先爆照 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/d ...
- ThoughtWorks 2017技术雷达
前言: ThoughtWorks人酷爱技术.我们对技术进行构建.研究. 测试.开源.记述,并始终致力于对其进行改进-以求造福 大众.我们的使命是支持卓越软件并掀起IT革命.我们创建 并分享Though ...
- 创业公司快速搭建立体化监控之路(WOT2016)
本文内容:创业型公司如何快速搭建可扩展,可落地的立体化监控平台 一.需求缘起 创业型公司有系统监控么?来看两个case: case 1:CXO大群内贴了一张"用户微信投诉"的截图 ...
- axios遇到的坑
axios 可以使用一个config.js 配置文件来管理它的请求信息.具体配置不细说,使用如下. 一,使用配置方式 GET方法: let promise = axios.get(url, con ...
- Spring Boot实战之逐行释义HelloWorld
一.前言 研究Spring boot也有一小段时间了,最近会将研究东西整理一下给大家分享,大概会有10~20篇左右的博客,整个系列会以一个简单的博客系统作为基础,因为光讲理论很多东西不是特别容易理解 ...
- redis的set类型
1.简单描述 redis的set类型是string类型数值的无序集合.set元素最大可以包含2的32次方减1个元素.由于set类型是通过hash table实现(旧版本是这样,新版本不确定是不是改用了 ...