
数据库
文章平均质量分 80
gold_zwj
经典终究是经典-永不过时
展开
-
sql语句的执行顺序
Sql的执行顺序 from[确定单表还是多表] where [符合条件,都是在笛卡尔集的基础上面进行过滤的] group by[进行分组]原创 2014-01-23 11:22:44 · 454 阅读 · 0 评论 -
Mysql索引ICP
Index Condition Pushdown(ICP)是MySQL 5.6中新特性,是一种在存储引擎层使用索引过滤数据的一种 优化方式。ICP可以减少存储引擎访问基表的次数以及MySQL服务器访问存储引擎的次数。在不使用ICP索引扫描的过程:storage层:只将满足index key条件的索引记录对应的整行记录取出,返回给server层server层:对返回的数据...转载 2019-07-15 21:22:50 · 3181 阅读 · 0 评论 -
分库分表的基本思想
分库分表的基本思想Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个server上。如果表并不多,但每张表的数据非常多,这时候适合水平切分,即把表的数据按某种规则(比如按ID散列)切分到多个...转载 2019-04-23 23:03:52 · 201 阅读 · 0 评论 -
MySQL:MVCC的理解
MVCC主要适用于Mysql的RC,RR隔离级别MySQL数据库默认隔离级别:RR(Repeatable Read,可重复读)什么是MVCC Multi-Version Concurrency Control:多版本并发控制。基本实现原理 MVCC的实现,通过保存数据在某个时间点的快照来实现的。 这意味着一个事务无论运行多长时间,在同一个事务里...转载 2019-04-12 09:35:34 · 433 阅读 · 0 评论 -
MySQL查询解析
1 问题描述一条SQL,在数据库中是如何执行的呢?相信很多人都会对这个问题比较感兴趣。当然,要完整描述一条SQL在数据库中的生命周期,这是一个非常巨大的问题,涵盖了SQL的词法解析、语法解析、权限检查、查询优化、SQL执行等一系列的步骤,简短的篇幅是绝对无能为力的。因此,本文挑选了其中的部分内容,也是我一直都想写的一个内容,做重点介绍:给定一条SQL,如何提取其中的wh...转载 2019-03-18 19:52:13 · 865 阅读 · 1 评论 -
Mysql死锁详解
背景 MySQL/InnoDB的加锁分析,一直是一个比较困难的话题。我在工作过程中,经常会有同事咨询这方面的问题。同时,微博上也经常会收到MySQL锁相关的私信,让我帮助解决一些死锁的问题。本文,准备就MySQL/InnoDB的加锁问题,展开较为深入的分析与讨论,主要是介绍一种思路,运用此思路,拿到任何一条SQL语句,都能完整的分析出这条语句会加什么锁?会有什么样的使用风险?甚至是分...转载 2019-03-18 19:51:24 · 894 阅读 · 0 评论 -
MySQL-连表查询原理
https://www.cnblogs.com/shengdimaya/p/7123069.htmlhttps://blog.youkuaiyun.com/hzz532968708/article/details/77370497https://www.cnblogs.com/Toolo/p/3634563.html转载 2019-03-16 17:06:03 · 2874 阅读 · 0 评论 -
最后修改时间创建-MySQL
`gmt_modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',原创 2019-02-15 14:39:55 · 370 阅读 · 0 评论 -
MySQL 索引问题
MySQL的MyISAM与InnoDB的索引方式在MySQL中,索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的,本文主要讨论MyISAM和InnoDB两个存储引擎的索引实现方式。MyISAM索引实现MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址。下图是MyISAM索引的原理图:这里设表一共有三列,假设我们以Col1为主键,则上图是一个MyI...转载 2018-06-12 14:20:15 · 764 阅读 · 0 评论 -
数据库当前时间
MYSQL 当前时间的描述 unix_timestamp() from_unixtime(seconds,'%Y%m%d') to_date(seconds,'%Y-%m-%d)'select str_to_date('2008-4-2 15:3:28','%Y-%m-%d %H:%i:%s');select str_to_date('2008-08-09原创 2016-08-05 10:22:58 · 415 阅读 · 0 评论 -
一个不可思议的 MySQL 慢查分析与解决!
一、前言 开发需要定期的删除表里一定时间以前的数据,SQL如下 前段时间在优化的时候,已经在相应的查询条件上加上了索引 但是实际执行的 SQL 依然非常慢,为什么呢,我们来一步步分析验证下 二、分析 表上的字段既然都有索引,那么按照之前的文章分析,是两个字段都可以走上索引的。如果有疑问,请参考文章 10 ...转载 2019-07-17 10:50:40 · 193 阅读 · 0 评论