随笔分类 - MySQL
摘要:系统数据库 MySQL数据库安装完成后,自带了以下四个数据库,具体作用如下: 常用工具 mysql 该mysql不是指mysql服务,而是指mysql的客户端工具 mysqladmin mysqladmin是一个执行管理操作的客户端程序。可以用它来检查服务器的配置和当前状态、创建并删除数据库等。 m
阅读全文
摘要:MVCC-基本概念 当前读 读取的是记录的最新版本,读取时还要保证其他并发事务不能修改当前记录,会对读取的记录进行加锁。对于我们日常的操作,如: select ... lock in share mode(共享锁),select ... for update, update, insert,dele
阅读全文
摘要:事务 事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。 特性 原子性(Atomicity):事务是不可分割的最小操作单元,要么全部成功,要么全部失败。 一致性(Consistency):事务完成时,必
阅读全文
摘要:MySQL InnoDB逻辑存储结构: 表空间(ibd文件):一个mysql实例可以对应多个表空间,用于存储记录,索引等数据。 段:分为数据段(Leaf node segment),索引段(Non-leaf node segment)、回滚段(Rollback segment),InnoDB是索引组
阅读全文
摘要:视图(View)是一种虚拟存在的表,视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。 通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。 创建 CREATE [OR R
阅读全文
摘要:1、Insert优化 批量插入(一次也不宜太多,500~1000,根据业务情况决定),避免频繁开启、关闭事务 手动提交事务 主键顺序插入(性能高于乱序插入) 大批量的数据插入 如果一次性需要插入大批量数据,使用insert语句插入性能较低,此时可以使用MySQL数据库提供的load指令进行插入 2、
阅读全文
摘要:1、最左前缀法则: 如果索引多列(联合索引),要遵循最左前缀法则,最左前缀法则指的是查询从索引的最左列开始,并且不跳过索引中的列。如果跳过某一列,索引将部分失效(后面的字段索引失效)。 2、范围查询 联合索引中,出现范围查询(<,>),范围查询右侧的列索引失效(业务允许的情况下尽量使用>=,加个”=
阅读全文
摘要:1、SQL执行频次查询 主要是看select语句的执行频次,性能分析只针对于select语句; 执行以下指令,可以查看当前数据库的INSERT、UPDATE、DELETE、SELECT的访问频次: SHOW [GLOBAL|SESSION] STATUS LIKE ‘Com_______’; (七根
阅读全文
摘要:索引分类: 在InnoDB存储引擎中,根据索引的存储形式,又可以分为以下两种: 聚集索引选取规则: 如果存在主键,主键索引就是聚集索引; 如果不存在主键,将使用第一个唯一索引作为聚集索引; 如果表没有主键,或没有合适的唯一索引,则InnoDB会自动生成一个rowid作为隐藏的聚集索引 索引语法 创建
阅读全文
摘要:索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。 1、优缺点: 优势: 提高数据检索的效率,降低数据库的IO成本。 通
阅读全文
摘要:1、MySQL体系结构 l 连接层:客户端和连接服务,主要完成一些类似于连接处理、授权认证、以及相关的安全方案,服务器也会为安全接入的每个客户端验证它所具有的操作权限。 l 服务层:第二层架构主要完成大多数的核心服务功能,如SQL接口,并完成缓存的查询,SQL的分析和优化,部分内置函数的执行。所有跨
阅读全文
摘要:1、查看数据库事务提交方式 select @@autocommit;(1自动提交,0手动提交) start transaction;开启事务 commit/rollback;提交/回滚 2、事务的四大特性: 原子性(Atomicity):事务是不可分割的最小操作单元,要么全部成功,要么全部失败。 一
阅读全文