MySQL

MySQL

关注数:0 文章数:13 访问量:1626

1.MySQL分表分库底层设计原理2.MySQ分表分库如何查询呢?3.分表分库JOIN连表如何查询4.分表分库之后分页如何查询5.分表分库之后分布式事务如何处理6.分表分库聚合函数如何查询7.分表分库分片策略有哪些8.分表分库后数据如何平滑扩容9.不同场景下如何选择分片算法10.谈谈MySQL启动流程和架构原理11.myisam和innodb索引底层结构12.为什么InnoDb引擎表必须有主...

这是数据库事务分享的第二篇,上一篇讲解了数据库事务并发会产生的问题,这篇会详细讲数据库如何避免这些问题,也就是如何实现隔离,主要是讲两种主流技术方案——MVCC与锁,理解了MVCC与锁,就可以举一反三地看各种数据库并发控制方案,并理解每种实现能解决的问题以及需要开发者自己注意的并发问题,以更好支撑业务开发。先回顾一下上一篇讨论过的,如果没有隔离或者隔离级别不足,会带来的问题:1、脏读(Dir...

mysql中的锁看起来是很复杂的,因为有一大堆的东西和名词:排它锁,共享锁,表锁,页锁,间隙锁,意向排它锁,意向共享锁,行锁,读锁,写锁,乐观锁,悲观锁,死锁。这些名词有的博客又直接写锁的英文的简写--->X锁,S锁,IS锁,IX锁,MMVC...锁的相关知识又跟存储引擎,索引,事务的隔离级别都是关联的....这就给初学数据库锁的人带来不少的麻烦~~~于是我下面就简单整理一下数据库锁的...

数据库查询相信很多人都不陌生,所有经常有人调侃程序员就是CRUD专员,这所谓的CRUD指的就是数据库的增删改查。在数据库的增删改查操作中,使用最频繁的就是查询操作。而在所有查询操作中,统计数量操作更是经常被用到。关于数据库中行数统计,无论是MySQL还是Oracle,都有一个函数可以使用,那就是COUNT。但是,就是这个常用的COUNT函数,却暗藏着很多玄机,尤其是在面试的时候,一不小心就会...

一、什么是Sharding-JDBCSharding-JDBC官方文档:https://shardingsphere.apache.org/document/current/cn/overview/Sharding-JDBC定位为轻量级Java框架,在Java的JDBC层提供的额外服务。它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容...

一、MySQL主从复制复制是指将主数据库的DDL和DML操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。MySQL支持一台主库同时向多台从库进行复制,从库同时也可以作为其他从服务器的主库,实现链状复制。1、MySQL主从复制的概念MySQL主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL...

在任何系统库中,都会有各种各样的日志,记录着系统工作的方方面面,以帮助系统管理员追踪系统曾经发生过的各种事件。MySQL也不例外,MySQL中有六种日志文件,分别是:重做日志(redolog)、回滚日志(undolog)、二进制日志(binlog)、错误日志(errorlog)、慢查询日志(slowquerylog)、查询日志(generallog),中继日志(relaylog)。可以说,在...

1、mysql(连接数据库的客户端工具)这里的mysql不是指mysql服务,也不是指mysql数据库,而是只连接数据库的客户端工具。语法:options可选参数:执行选项:可以在Shell脚本中使用,去执行SQL语句而不用登录到MySQL服务器上:2、mysqladmin(客户端管理工具)mysqladmin是一个执行管理操作的客户端程序。可以用它来检查服务器的配置和当前的状态、创建并删除...

一、MySQL查询缓存优化在MySQL8.0之前我们的数据库是存在缓存这样的情况的,因为存在缓存,sql怎么执行都是很快,当然第⼀次其实不快但是我没注意到,以⾄于上线后因为缓存经常失效,导致rt(Responsetime)时高时低。后来就发现了是缓存的问题,我们在执⾏SQL的时候,记得加上SQLNoCache去跑SQL,这样跑出来的时间就是真实的查询时间了。我说一下为什么缓存会失效,而且是经...

一、优化SQL步骤在应用的的开发过程中,由于初期数据量小,开发人员写SQL语句时更重视功能上的实现,但是当应用系统正式上线后,随着生产数据量的急剧增长,很多SQL语句开始逐渐显露出性能问题,对生产的影响也越来越大,此时这些有问题的SQL语句就成为整个系统性能的瓶颈,因此我们必须要对它们进行优化,本章将详细介绍在MySQL中优化SQL语句的方法。当面对一个有SQL性能问题的数据库时,我们应该从...

一、MySQL存储引用概述​和大多数的数据库不同,MySQL中有一个存储引擎的概念,针对不同的存储需求可以选择最优的存储引擎。​存储引擎就是存储数据、建立索引,更新阐述数据等等技术的实现方式。MySQL存储引擎是基于表的而不是基于数据库的,即在一个数据库中的不同表可以使用不同的存储引擎。​Oracle、SqlServer等数据库只支持一种存储引擎。MySQL提供了插件式的引擎结构。所以MyS...

一、索引的概念1、什么是索引?MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。从官方的定义可以得到索引的本质:索引是数据结构,可以简单理解为索引就是一种数据结构,它可以帮助我们快速的从数据库查询到数据。索引就类似于一本书的目录,通过目录可以快速找到需要查找对内容。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向...

一、整体架构图和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的需求和实际需要选择合适的存储引擎。MySQL官方给出的系统逻辑架构分为4层,如下图所示:这四层自顶向下分别是连接层,服务层(核心层),存储引擎层,系统文件层。我们自顶向...