mysql-1.0
小马的学习笔记
这个作者很懒,什么都没留下…
展开
-
mysql调优-初始mysql体系结构和理解mysql底层B+tree索引机制
一mysql体系结构如下图所示正确的创建合适的索引是提升数据库查询性能的基础二索引是什么?索引是为了加速对表中数据行的检索而创建的一种分散存储的数据结构为什么要使用索引?1.索引能极大的减少存储引擎需要扫描的数据量2.索引可以把随机IO变成顺序IO3.索引可以帮助我们在进行分组、排序等操作时,避免使用临时表三什么是B+tree?(Binar...原创 2019-07-15 19:32:44 · 470 阅读 · 0 评论 -
mysql调优-索引的基本操作
MySQL 索引MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。拿汉语字典的目录页(索引)打比方,我们可以按拼音、笔画、偏旁部首等排序的目录(索引)快速查找到需要的字。索引分单列索引和组合索引。单列索引,即一个索引只包...转载 2019-08-09 19:13:14 · 233 阅读 · 0 评论 -
mysql锁的面试题
1.Mysql中有哪几种锁?1.表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。2.行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。3. 页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。2.锁的优化策略1. 读写分离2. 分段加锁3. 减少锁持有...转载 2019-08-15 18:25:05 · 13358 阅读 · 0 评论 -
mysql索引的面试题
1.可以使用多少列创建索引?任何标准表最多可以创建16个索引列。2.索引的底层实现原理和优化B+树,经过优化的B+树主要是在所有的叶子结点中增加了指向下一个叶子节点的指针,因此InnoDB建议为大部分表使用默认自增的主键作为主索引。3.什么情况下设置了索引但无法使用1.以“%”开头的LIKE语句,模糊匹配2. OR语句前后没有同时使用索引3. 数据类型出现隐式转...转载 2019-08-15 18:24:18 · 27006 阅读 · 0 评论 -
mysql事务的面试题
1.Mysql中InnoDB支持的四种事务隔离级别名称,以及逐级之间的区别?SQL标准定义的四个隔离级别为:read uncommited :读到未提交数据 read committed:脏读,不可重复读 repeatable read:可重读 serializable :串行事物2.MYSQL支持事务吗?在缺省模式下,MYSQL是autocommit模式的,所...转载 2019-08-15 18:24:45 · 8519 阅读 · 0 评论 -
mysql优化方面的面试题
1.MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?a. 设计良好的数据库结构,允许部分数据冗余,尽量避免join查询,提高效率。b. 选择合适的表字段数据类型和存储引擎,适当的添加索引。c. mysql库主从读写分离。d. 找规律分表,减少单表中的数据量提高查询速度。e。添加缓存机制,比如memcached,apc等。f. 不经常改动的页面,生成静态...转载 2019-08-15 18:25:48 · 57974 阅读 · 13 评论 -
mysql其它面试题
1.Mysql中有哪些不同的表格?共有5种类型的表格:MyISAM Heap Merge INNODB ISAM2.简述在MySQL数据库中MyISAM和InnoDB的区别MyISAM:不支持事务,但是每次查询都是原子的;支持表级锁,即每次操作是对整个表加锁;存储表的总行数;一个MYISAM表有三个文件:索引文件、表结构文件、数据文件;采用菲聚集...转载 2019-08-15 18:25:29 · 573 阅读 · 0 评论 -
MySQL 数据库优化,看这篇就够了 | 不长不短,2000 字小结
前言 1. 优化一览图 2. 优化 2.1 软优化 2.2 硬优化 结语 前言数据库优化一方面是找出系统的瓶颈,提高MySQL数据库的整体性能,而另一方面需要合理的结构设计和参数调整,以提高用户的相应速度,同时还要尽可能的节约系统资源,以便让系统提供更大的负荷.1. 优化一览图2. 优化笔者将优化分为了两大类...转载 2019-08-15 18:30:51 · 374 阅读 · 0 评论 -
面试官问我:说一下你对MySQL索引的理解?
MySQL索引?这玩意儿还能简单聊?明显是在挖坑,幸好老夫早有准备,且听我一一道来。一、索引是什么?索引是帮助MySQL高效获取数据的数据结构。二、索引能干什么?索引非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要。索引能够轻易将查询性能提高好几个数量级,总的来说就是可以明显的提高查询效率。三、索引的分类?1、从存储结构上来划分:BTree索引(B-T...转载 2019-08-15 18:55:28 · 1765 阅读 · 0 评论 -
mysql性能优化-数据库设计常见规则
第一范式( 1NF): 字段具有原子性,不可再分。 所有关系型数据库系统都满足第一范式)数据库表中的字段都是单一属性的, 不可再分;第二范式( 2NF): 要求实体的属性完全依赖于主键。 所谓完全依赖是指不能存在仅依赖主键一部分的属性,如果存在, 那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体, 新实体与原 实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例...原创 2019-08-09 17:01:02 · 246 阅读 · 0 评论 -
mysql调优-存储引擎介绍
mysql插拔式的存储引擎存储引擎的介绍1.插拔式的插件方式2.存储引擎是指定在表之上的,即一个库中的每一个表都可以指定专用的存储引擎。3,不管表采用什么样的存储引擎,都会在数据区,产生对应的一个frm文件(表结构定义描述文件)CSV存储引擎数据存储以CSV文件特点:1、不能定义没有索引、列定义必须为NOT NULL、不能设置自增列-->不适用大表或...原创 2019-08-05 15:30:52 · 237 阅读 · 0 评论 -
mysql调优-查询执行流程分析
mysql体系结构及运行机理mysql体系结构Client Connectors接入方 支持协议很多Management Serveices & Utilities系统管理和控制工具,mysqldump、 mysql复制集群、分区管理等Connection Pool 连接池:管理缓冲用户连接、用户名、密码、权限校验、线程处理等需要缓存的需求SQL Int...原创 2019-08-05 16:14:06 · 444 阅读 · 0 评论 -
mysql调优-执行计划详解
mysql调优-执行计划详解执行计划-idselect查询的序列号,标识执行的顺序1、id相同,执行顺序由上至下2、id不同,如果是子查询,id的序号会递增,id值越大优先级越高,越先被执行3、id相同又不同即两种情况同时存在,id如果相同,可以认为是一组,从上往下顺序执行;在所有组中,id值越大,优先级越高,越先执行执行计划-select_type...原创 2019-08-05 16:51:18 · 707 阅读 · 0 评论 -
mysql调优-如何定位慢查询sql
mysql调优-如何定位慢查询sql1.业务驱动2.测试驱动3慢查询日志慢查询日志配置show variables like 'slow_query_log'set global slow_query_log = onset global slow_query_log_file = '/var/lib/mysql/gupaoedu-slow.log'set g...原创 2019-08-06 16:36:54 · 1615 阅读 · 0 评论 -
mysql性能优化-事务
mysql性能优化-事务Innodb的特性什么是事务事务:数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;事务是一组不可在分割的操作集合(工作逻辑单元);事务:数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;事务是一组不可再分割的操作集合(工作逻辑单元);典型事务场景(转账):update user_acc...原创 2019-08-09 14:08:06 · 258 阅读 · 0 评论 -
mysql性能优化-锁
理解表锁,行锁锁是用于管理不同事务对共享资源的并发访问表锁与行锁的区别:锁定粒度:表锁 > 行锁加锁效率:表锁 > 行锁冲突概率:表锁 > 行锁并发性能:表锁 < 行锁InnoDB存储引擎支持行锁和表锁(另类的行锁)mysql Innodb锁的类型l 共享锁(行锁):Shared Locksl 排它锁(行锁):Exclusive...原创 2019-08-09 16:12:23 · 242 阅读 · 0 评论 -
mysql性能优化-MVCC
思考一个问题MVCC是什么?MVCC:Multiversion concurrency control (多版本并发控制)解释:并发访问(读或写)数据库时,对正在事务内处理的数据做多版本的管理,以达到用来避免写操作的堵塞,从而引发读操作的并发问题。mysql中MVCC逻辑流程-插入假如一张表user有三个字段id,name,age,MySQL会默认的给每...原创 2019-08-09 16:55:33 · 1477 阅读 · 0 评论 -
mysql性能优化-配置参数
mysql服务器参数类型基于参数的作用域: 全局参数set global autocommit = ON/OFF;会话参数(会话参数不单独设置则会采用全局参数) set session autocommit = ON/OFF;注意: 全局参数的设定对于已经存在的会话无法生效 会话参数的设定随着会话的销毁而失效 全局类的统一配置建议配置在默认配置文件中,否则重启服务会导致配置失效...原创 2019-08-09 16:57:36 · 415 阅读 · 0 评论 -
面试官问你MySQL的优化,看这篇文章就够了
一、EXPLAIN做MySQL优化,我们要善用 EXPLAIN 查看SQL执行计划。下面来个简单的示例,标注(1,2,3,4,5)我们要重点关注的数据 type列,连接类型。一个好的sql语句至少要达到range级别。杜绝出现all级别 key列,使用到的索引名。如果没有选择索引,值是NULL。可以采取强制索引方式 key_len列,索引长度 ...转载 2019-08-15 19:04:11 · 2040 阅读 · 0 评论