MYSQL
文章平均质量分 86
anthony4515
一步一个脚印
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
mysql虚拟列(Generated Columns)及JSON字段类型的使用
mysql 5.7中有很多新的特性,但平时可能很少用到,这里列举2个实用的功能:虚拟列及json字段类型一、先创建一个测试表: 1 2 3 4 5 6 7 8 9 droptableif exists t_people; CREATETABLEt_people( `id`INT(11)NOTNULLAUTO_INCREMENT, `name`va...原创 2021-03-15 17:02:02 · 512 阅读 · 0 评论 -
OceanBase数据库
OceanBase 是一款由阿里巴巴公司自主研发的高性能、分布式的关系型数据库,支持完整的 ACID 特性,高度兼容MySQL协议与语法,能够以最小的迁移成本使用高性能、可扩张、持续可用的分布式数据服务。OceanBase 实现了数千亿条记录、数百 TB 数据的跨行跨表业务,支持了天猫大部分的 OLTP 和 OLAP 在线业务。OceanBase 特性OceanBase 最初是为了处理淘宝网的大规模数据而产生的。传统的 Oracle 单机数据库无法支撑数百 TB 的数据存储、数十万的 QPS,..转载 2021-01-11 13:59:03 · 2999 阅读 · 0 评论 -
MySQL索引凭什么让查询效率提高这么多?
背景我相信大家在数据库优化的时候都会说到索引,我也不例外,大家也基本上能对数据结构的优化回答个一二三,以及页缓存之类的都能扯上几句,但是有一次阿里P9的一个面试问我:你能从计算机层面开始说一下一个索引数据加载的流程么?(就是想让我聊IO)我当场就去世了....因为计算机网络和操作系统的基础知识真的是我的盲区,不过后面我恶补了,废话不多说,我们就从计算机加载数据聊起,讲一下换个角度聊索引。正文MySQL的索引本质上是一种数据结构让我们先来了解一下计算机的数据加载。磁盘IO和预读:转载 2020-09-08 09:58:11 · 232 阅读 · 0 评论 -
浅谈聚簇索引和非聚簇索引的区别
聚簇索引:将数据存储与索引放到了一块,索引结构的叶子节点保存了行数据非聚簇索引:将数据与索引分开存储,索引结构的叶子节点指向了数据对应的位置在innodb中,在聚簇索引之上创建的索引称之为辅助索引,非聚簇索引都是辅助索引,像复合索引、前缀索引、唯一索引。辅助索引叶子节点存储的不再是行的物理位置,而是主键值,辅助索引访问数据总是需要二次查找。InnoDB使用的是聚簇索引,将主键组织到一棵B+树中,而行数据就储存在叶子节点上,若使用"where id = 14"这样的条件查找主键,则按照B.原创 2020-08-19 11:23:24 · 441 阅读 · 0 评论 -
Mysql锁的类型与简析
数据库锁设计的初衷是处理并发问题。作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。而锁就是用来实现这些访问规则的重要数据结构。根据加锁的范围,MySQL 里面的锁大致可以分成全局锁、表级锁和行锁三类。全局锁顾名思义,全局锁就是对整个数据库实例加锁。MySQL 提供了一个加全局读锁的方法,命令是 Flush tables with read lock (FTWRL)。当你需要让整个库处于只读状态的时候,可以使用这个命令,之后其他线程的以下语句会被阻塞:数据更新.转载 2020-08-19 11:08:23 · 256 阅读 · 0 评论 -
Mysql中MVCC的使用及原理详解
准备测试环境:Mysql 5.7.20-log数据库默认隔离级别:RR(Repeatable Read,可重复读),MVCC主要适用于Mysql的RC,RR隔离级别创建一张存储引擎为testmvcc的表,sql为: CREATE TABLE testmvcc ( id int(11) DEFAULT NULL, name varchar(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; .转载 2020-08-17 23:49:44 · 248 阅读 · 0 评论 -
MySQL优化:如何避免回表查询?什么是索引覆盖?
数据库表结构: 1 2 3 4 5 6 createtableuser( idintprimarykey, namevarchar(20), sexvarchar(5), index(name) )engine=innodb; 1 2 3 selectid,namewherename='...转载 2020-08-12 16:31:33 · 296 阅读 · 0 评论 -
explain你记得哪些字段,分别有什么含义
我们都知道用explain xxx分析sql语句的性能,但是具体从explain的结果怎么分析性能以及每个字段的含义你清楚吗?这里我做下总结记录,也是供自己以后参考。首先需要注意:MYSQL 5.6.3以前只能EXPLAIN SELECT; MYSQL5.6.3以后就可以EXPLAIN SELECT,UPDATE,DELETEexplain结果示例:mysql> explain select * from staff;+----+-------------+-------+-.原创 2020-08-12 15:40:56 · 3958 阅读 · 0 评论 -
MySQL explain有哪些字段?每个字段反馈的信息?
EXPLAIN列的解释:table:显示这一行的数据是关于哪张表的type:这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型为const、eq_reg、ref、range、indexhe和ALLpossible_keys:显示可能应用在这张表中的索引。如果为空,没有可能的索引。可以为相关的域从WHERE语句中选择一个合适的语句。这个列表是在优化过程的早期创建的,因此有些列出来的索引可能对于后续优化过程是没有用的。key: 实际使用的索引。如果为NULL,则没有使用索引。很少的情况原创 2020-08-03 16:42:52 · 574 阅读 · 0 评论
分享