E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
《MySQL系列》
MySql系列
之架构浅析
文章目录引言1.数据库架构2.MySQL目录结构3.InnoDB目录结构4.核心类库5.客户端与服务端交互MySQL是一个开放源代码的关系数据库管理系统。原开发者为瑞典的MySQLAB公司,最早是在2001年MySQL3.23进入到管理员的视野并在之后获得广泛的应用。2008年MySQL公司被Sun公司收购并发布了首个收购之后的版本MySQL5.1,该版本引入分区、基于行复制以及pluginAPI
Tangocc
·
2020-06-27 06:10
MySQL数据库
MySql系列
之Innodb存储引擎
插件化存储引擎是MySQL特点,用户可以根据自己的需求使用不同的存储引擎,甚至通过抽象的API接口实现自己的存储引擎。innodb存储引擎支持行级锁以及事务特性,也是多种场合使用较多的存储引擎,本文将介绍innodb存储引擎。存储引擎简介mysql系统来说,存储引擎是真正实现数据的存储与读取操作的对象,数据库实例通过抽象API接口与存储引擎交互,存储引擎自定义实现数据的物理、逻辑组织形式以及索引、
Tangocc
·
2020-06-27 06:10
MySQL数据库
MySQL系列
之源码浅析
源码才是王道。真正的高手从来不是临场发挥,随机应变是外人看来的错觉。1.主函数sql/mysqld.cc中,代码如下:intmain(intargc,char**argv)//标准入口函数{MY_INIT(argv[0]);//调用mysys/My_init.c->my_init(),初始化mysql内部的系统库logger.init_base();//初始化日志功能init_common_var
Tangocc
·
2020-06-27 06:09
系统架构
MySQL系列
:innodb源码分析之基础数据结构
近一年来一直在分析关于数据库相关的源码,前段时间分析了levelDB的实现和BeansDB的实现,这两个数据库网络上分析的文章很多,也都比较分析的比较深,所以也就没有太多必要重复劳动。最近开始关注关系数据库和MYSQL,当然主要还是数据库存储引擎,首先我还是从innodb这个最流行的开源关系数据库引擎着手来逐步分析和理解。我一般分析源码的时候都是从基础的数据结构和算法逐步往上分析,遇到不明白的地方
zerok775
·
2020-06-27 05:29
innodb
分布式系统
innodb源码分析
MySQL系列
—特定类型查询优化
1、优化COUNT()查询COUNT()可能是被大家误解最多的函数了,它有两种不同的作用,其一是统计某个列值的数量,其二是统计行数。统计列值时,要求列值是非空的,它不会统计NULL。如果确认括号中的表达式不可能为空时,实际上就是在统计行数。最简单的就是当使用COUNT(*)时,并不是我们所想象的那样扩展成所有的列,实际上,它会忽略所有的列而直接统计所有的行数。我们最常见的误解也就在这儿,在括号内指
你温柔的背后是心情的曲折
·
2020-06-27 04:56
MySQL
MySQL系列
—Scheme设计与数据类型优化
选择数据类型只要遵循小而简单的原则就好,越小的数据类型通常会更快,占用更少的磁盘、内存,处理时需要的CPU周期也更少。越简单的数据类型在计算时需要更少的CPU周期,比如,整型就比字符操作代价低,因而会使用整型来存储ip地址,使用DATETIME来存储时间,而不是使用字符串。这里总结几个可能容易理解错误的技巧:1、通常来说把可为NULL的列改为NOTNULL不会对性能提升有多少帮助,只是如果计划在列
你温柔的背后是心情的曲折
·
2020-06-27 04:56
MySQL
Scheme设计
数据类型优化
mysql
MySQL系列
—聚集索引和非聚集索引
SQLSERVER提供了两种索引聚集索引:聚集索引表示表中存储的数据按照索引的顺序存储,检索效率比非聚集索引高,但对数据更新影响较大;非聚集索引:非聚集索引表示数据存储在一个地方,索引存储在另一个地方,索引带有指针指向数据的存储位置,非聚集索引检索效率比聚集索引低,但对数据更新影响较小。聚集索引该索引中键值的逻辑顺序决定了表中相应行的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引
你温柔的背后是心情的曲折
·
2020-06-27 04:56
MySQL
MySQL系列
—如何优化你的 SQL SELECT 语句性能
SELECT语句的性能调优有时是一个非常耗时的任务,在我看来它遵循帕累托原则。20%的努力很可能会给你带来80%的性能提升,而为了获得另外20%的性能提升你可能需要花费80%的时间。除非你在金星工作,那里的每一天都等于地球上的243天,否则交付期限很有可能使你没有足够的时间来调优SQL查询。遵循下面这些简单的步骤大部分时间我确实能得到性能提升。1、检查索引在SQL语句的WHERE和JOIN部分中用
你温柔的背后是心情的曲折
·
2020-06-27 04:55
MySQL
MySQL系列
——MySQL实现序列(Sequence)效果
MySQL实现序列效果一般使用序列(Sequence)来处理主键字段,在MySQL中是没有序列的,但是MySQL有提供了自增长(increment)来实现类似的目的,但也只是自增,而不能设置步长、开始索引、是否循环等,最重要的是一张表只能由一个字段使用自增,但有的时候我们需要两个或两个以上的字段实现自增(单表多字段自增),MySQL本身是实现不了的,但我们可以用创建一个序列表,使用函数来获取序列的
哈哈书架
·
2020-06-26 10:26
MySQL
序列
Sequence
MySQL系列
——MySQL中A表数据UPDATE到B表
MySQL中A表数据UPDATE到B表场景1:表B:id,name,code三个字段均有值;表A:id,name,code其中id,name有值并且与表B相对应,code值为null。现在将B表中的code值更新到A表中。方法1:id不能有重复:updatet_aaseta.code=(selectcodefromt_bbwhereb.id=a.id)方法2:适合少量数据updatet_aainn
哈哈书架
·
2020-06-26 10:54
MySQL
高质量解读《高性能mysql》——第4章Schema与数据类型优化
深入学习
MySQL系列
,解读的目的是为了把书读薄,抽出重点进行梳理、理解、运用。因大量文字很容易让人觉得枯燥无味,为此博主花费一定精力和时间整理输出为逻辑思维图,以便大家学习和参考。
天天water
·
2020-06-25 01:28
高质量解读《高性能mysql》
高质量解读《高性能mysql》——第3章服务器性能剖析
深入学习
MySQL系列
,解读的目的是为了把书读薄,抽出重点进行梳理、理解、运用。因大量文字很容易让人觉得枯燥无味,为此博主花费一定精力和时间整理输出为逻辑思维图,以便大家学习和参考。
天天water
·
2020-06-25 01:28
高质量解读《高性能mysql》
高质量解读《高性能mysql》——第2章MySQL基准测试
深入学习
MySQL系列
,解读的目的是为了把书读薄,抽出重点进行梳理、理解、运用。因大量文字很容易让人觉得枯燥无味,为此博主花费一定精力和时间整理输出为逻辑思维图,以便大家学习和参考。
天天water
·
2020-06-25 01:27
高质量解读《高性能mysql》
高质量解读《高性能mysql》——第1章 MySQL架构与历史
深入学习
MySQL系列
,解读的目的是为了把书读薄,抽出重点进行梳理、理解、运用。因大量文字很容易让人觉得枯燥无味,为此博主花费一定精力和时间整理输出为逻辑思维图,以便大家学习和参考。
天天water
·
2020-06-25 01:27
高质量解读《高性能mysql》
【狂神说】MySQL学习笔记01----初识MySQL
狂神说
MySQL系列
连载课程,通俗易懂,基于MySQL5.7.19版本,欢迎各位狂粉转发关注学习。
pan_h1995
·
2020-06-24 19:55
【狂神说】MySQL学习笔记
MySQL系列
教程(三)
mySQL集群(cluster)这一章,我根本不打算写,因为mySQL的官方Cluster方案基本上都是bullshit,尤其是它的官方集群方案,竟然都无人维护了,而且mySQL集群完全可以用眼下另一种方案去做替换,根本无需做成cluster。因此,在这一章为了不浪费读者的宝贵时间,我只会列出mySQL集群的几种比较方案,目前有一些第三方提供的mySQL集群方案还是不错的选择。MySQL的clus
TGITCIC
·
2020-06-24 04:58
架构师之路
架构师修练之道
mysql
mysql
mysql集群
mysql优化
mysql教程
Mysql系列
——数据库运维(1)——数据库版本介绍及安装-yum
配置yum源此处主要是为了安装其他软件方便,mysql有自己的noarch。安装baserepo源cd/etc/yum.repos.dmvCentOS-Base.repoCentOS-Base.repo.bakmv.pngwget-OCentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repobase-repo.png安装epelrepo
明义经典
·
2020-06-23 19:16
001A-推荐几本学习MySQL的好书
MySQL的好书1.MySQL的使用1.1MySQL技术内幕:InnoDB存储引擎1.2MySQL的官方手册1.3MySQL排错指南1.4高性能MySQL1.5数据库索引设计与优化1.6Effective
MySQL
csdn_immortal
·
2020-06-23 00:11
mysql
Mysql 8.0 安装与基准测试
前言2019年的时候就打算写
Mysql系列
的博客,想对自己学的东西的做一个总结,一拖再拖啊,2020-5至202-6两个月专心写Mysql相关的东西。
万古云霄
·
2020-06-22 08:28
2019年高级Java程序员面试题汇总
目录JDKDubboZookeeperStrut2Spring系列Redis系列
Mysql系列
Java多线程消息中间件线程池事物JVM设计模式其他程序设计基础知识编程题面试技术外的问题引言:随着金九银十的到来
回首笑人间
·
2020-06-22 06:42
MySQL系列
(4):mysqld解析之初始化
引言上一节介绍了从命令行和配置文件加载配置参数,这一节介绍其它的初始化逻辑。可以学习的数据结构有链表和哈希,可以关注的内容有table_def_size/table_cache_size/max_connections/requested_open_files等参数的计算方式,另外有需要可自行深入学习performance_schema。源码分析初始化命令init_sql_statement_na
CanvaChen
·
2020-06-21 18:02
MySQL
MySQL系列
(3):mysqld解析之入口和加载配置
引言上一节介绍了mysqld_safe的执行过程,这一节根据mysqld_safe生成的启动命令,来跟踪mysqld的入口和加载配置流程。分析入口sql/main.cc的main函数调用了sql/mysqld.cc的mysqld_main函数。这里我们以如下方式启动mysqld:/usr/local/mysql/bin/mysqld\--basedir=/usr/local/mysql\--dat
CanvaChen
·
2020-06-21 18:02
MySQL
MySQL系列
(5):mysqld之网络IO模型
引言前面几节介绍了mysqld的初始化,接下来介绍连接的监听和处理。重点掌握TCP、Unix域套接字和poll模型,进一步可自行了解epoll模型。本文重在代码脉络的梳理和知识点的提取,相关技术细节可自行加餐。知识点select/poll模型;TCP;Unix域套接字源码分析网络IO模型从Mysqld_socket_listener::listen_for_connection_event()可以
CanvaChen
·
2020-06-21 18:02
MySQL
SQL-mysql视图的前世今生
一前言本篇内容是关于视图的一些概念,和使用,主要目的带小伙伴们全面的了解视图,而不是仅仅停留在简单的使用上学习本篇的基础是知识追寻者发过SQL的系列文章,知识追寻者的目标是
MYSQL系列
知识直接安排,不管是学习和工作
知识追寻者
·
2020-06-21 15:29
SQL
带你学
MySQL系列
| 这份MySQL函数大全,真的超有用!
目录 1.MySQL中关于函数的说明 2.单行函数分类 3.字符函数 1)length(str):获取参数值的字节个数; 2)concat(str1,str2,…):拼接字符串; 3)upper(str):将字符中的所有字母变为大写; 4)lower(str):将字符中所有字母变为小写; 5)substr(str,start,[len]):从start位置开始截
Huang supreme
·
2020-06-21 12:26
mysql
MySQL函数大全
带你学
MySQL系列
| 奇怪的null值,我该怎么办?看看我给你的总结!
1.测试数据createtabletest_null(idint,namevarchar(20),chineseint,mathint,englishint)charset=utf8;insertintotest_nullvalues(1,null,80,70,68),(2,'张三',60,null,null),(3,'李四',null,90,80),(4,'王五',90,60,75),(5,nu
Huang supreme
·
2020-06-21 12:55
mysql
带你学
MySQL系列
| 困扰MySQL初学者的分组聚合查询,我终于讲明白了!
1.分组查询的原理图对上述原始数据,按照DEPARTMENT_ID(员工id)分组统计SALARY(薪水)的平均值。上述原理写成代码,应该怎么写呢?selectdepartment_id,avg(salary)fromtestgroupbydepartment_id;可以清楚地看到,使用department_id进行分组后,系统默认将department_id相同的号所在的行,分配在一起,你有几个
Huang supreme
·
2020-06-21 12:55
mysql
带你学
MySQL系列
| 学好MySQL,最重要的就是学好数据操纵语言DML
1.数据操纵语言(DML)数据操纵语言全称是DataManipulationLanguage,简称是DML。DML主要有四个常用功能,如下表所示,其中DML中的查询功能是作为一名数据分析师常用的操作。查询知识会穿插在之后的所有文章中讲述,因为这个问题不是一下子可以讲的完的。今天的文章主要是讲述增、删、改这几个技能的用法。增删改查insertdeleteupdateselect下面的操作都是基于这个
Huang supreme
·
2020-06-21 12:55
mysql
数据操纵语言DML
MySQL
mysql系列
-安装及增删改查
目录基本介绍Mysql5.7安装Mysql常用操作数据库用户权限表表内容增删改查语句基本介绍MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性mysql就是一个基于socket编写的C/S架构的软件。Mysql5.7安装MySQL数据库的线上环境安装,建议采取编译安装的方式,这样性能会有较大的提升。源码包的编译参
紫色飞猪
·
2020-05-04 16:00
狂神说MySQL04:使用DQL查询数据
狂神说
MySQL系列
连载课程,通俗易懂,基于MySQL5.7.19版本,欢迎各位狂粉转发关注学习。禁止随意转载,转载记住贴出B站视频链接及公众号链接!
狂神说
·
2020-04-30 11:12
狂神说MySQL01:初识MySQL
狂神说
MySQL系列
连载课程,通俗易懂,基于MySQL5.7.19版本,欢迎各位狂粉转发关注学习。禁止随意转载,转载记住贴出B站视频链接及公众号链接!
狂神说
·
2020-04-27 12:54
MySQL服务日志详细介绍及增量恢复命令实践
MySQL系列
课程第九部:MySQL服务日志详细介绍及增量恢复命令实践,课程内容:MySQLbinlog命令介绍及实战讲解;dump-master-data参数答疑详解;MySQL服务普通查询日志介绍及实践
小太阳会发光诺
·
2020-04-14 02:11
MySQL系列
:走进数据库,相关概念你都明白吗?
数据库,一个我们常常提到的名词,但是你有没有想过,它到底是什么意思呢,而我们常说的MySQL、Oracle等又到底指什么呢?数据库数据库(DataBase),简称DB,是数据库是存储数据的集合,你可以把它理解为多个数据表。数据库是“按照数据结构来组织、存储和管理数据的仓库”,是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。数据库是以一定方式储存在一起、能与多个用户共享、具有尽可
杨小格子
·
2020-04-11 04:14
MySQL主从复制企业级深入高级应用实战
MySQL系列
课程第七部:MySQL主从复制企业级深入高级应用实战。
小太阳会发光诺
·
2020-04-04 21:29
mysql系列
--sql实现原理
count(*)MyISAM引擎把⼀个表的总⾏数存在了磁盘上,因此执⾏count(*)的时候会直接返回这个数,效率很⾼;但是加了条件则不能快速返回⽽InnoDB引擎就麻烦了,它执⾏count(*)的时候,需要把数据⼀⾏⼀⾏地从引擎⾥⾯读出来,然后累积计数。InnoDB选择一行行计算是因为不同事物中读物到的数量不同,单行读取能保证事物数据的正确性。针对count(*)mysql做了优化,普通索引比主
梦醒点灯
·
2020-04-01 09:00
mysql系列
--锁和MVCC
锁根据加锁的范围,MySQL⾥⾯的锁⼤致可以分成全局锁、表级锁和⾏锁三类全局锁全局锁就是对整个数据库实例加锁。MySQL提供了⼀个加全局读锁的⽅法,命令是Flushtableswithreadlock(FTWRL)。让整个库处于只读状态。全局锁的典型使⽤场景是,做全库逻辑备份。也就是把整库每个表都select出来存成⽂本。以前做法是通过FTWRL对整库加只读锁备份。风险:1.如果在主库备份,在备份
梦醒点灯
·
2020-04-01 09:00
mysql系列
--索引
事务事务,你肯定会想到ACID(Atomicity、Consistency、Isolation、Durability,即原⼦性、⼀致性、隔离性、持久性)读未提交:⼀个事务还没提交时,它做的变更就能被别的事务看到。读提交:⼀个事务提交之后,它做的变更才会被其他事务看到。可重复读:⼀个事务执⾏过程中看到的数据,总是跟这个事务在启动时看到的数据是⼀致的。当然在可重复读隔离级别下,未提交变更对其他事务也是
梦醒点灯
·
2020-03-31 18:00
mysql系列
-⼀条SQL查询语句是如何执⾏的?
⼀条SQL查询语句是如何执⾏的?⼤体来说,MySQL可以分为Server层和存储引擎层两部分Server层Server层包括连接器、查询缓存、分析器、优化器、执⾏器等,涵盖MySQL的⼤多数核⼼服务功能,以及所有的内置函数(如⽇期、时间、数学和加密函数等),所有跨存储引擎的功能都在这⼀层实现,⽐如存储过程、触发器、视图等。存储引擎层⽽存储引擎层负责数据的存储和提取。其架构模式是插件式的,⽀持Inn
梦醒点灯
·
2020-03-31 17:00
MySQL多实例安装与企业应用场景
MySQL系列
课程第二部:MySQL多实例安装与企业应用场景。
小太阳会发光诺
·
2020-03-27 07:59
MySQL应用管理及进阶实战操作
MySQL系列
课程第三部:MySQL应用管理及进阶实战操作。
小太阳会发光诺
·
2020-03-25 07:03
【技术研究】
Mysql系列
——left join
这两个命令是我平时工作中相对使用的比较少的。最近研究了下,leftjoin示例如下:select*fromtable1Aleftjointable2BonA.uid=B.uidwhereA.sexisF;整个思想是:先查询A中所有数据,再将B中满足条件的数据接到后面,见图:其中,B表中uid为5是不符合条件的记录,最后从这个集合中筛选出满足where条件的记录。见图:
小静默
·
2020-03-23 16:11
MySQL备份-增量备份及数据恢复基础实战
MySQL系列
课程第五部:MySQL备份-增量备份及数据恢复基础实战。
小太阳会发光诺
·
2020-03-18 15:54
MySQL的万字总结(缓存,索引,Explain,事务,redo日志等)
hello,小伙伴们,好久不见,
MySQL系列
停更了差不多两个月了,也有小伙伴问我为啥不更了呢?其实我去看了MySQL的全集,准备憋个大招,更新篇长文(我不会告诉你是因为我懒的)。
学习Java的小姐姐
·
2020-03-13 10:00
MySQL备份与恢复实战案例及生产方案
MySQL系列
课程第八部:MySQL备份与恢复实战案例及生产方案。
小太阳会发光诺
·
2020-03-09 07:15
【技术研究】
Mysql系列
——group by
groupby的作用是分组,一般和聚合函数一起使用。比如,学校有多门课程,想查看学分大于3的课程中,每门课程有多少学生选择,就可以用groupby,如下:SELECTCOUNT(*),course_idFROM`course`WHEREcourse_score>"3"GROUPBYcourse_idORDERBYcourse_id;即先按course_id分组,然后查询每个组中符合条件的学生人数。
小静默
·
2020-03-09 05:24
MySQL主从复制原理及实战部署
MySQL系列
课程第六部:MySQL主从复制原理及实战部署。
小太阳会发光诺
·
2020-03-03 01:04
阿里云如何打破Oracle迁移上云的壁垒
本文提出了Oracle到云数据库PPAS迁移的方案,这种迁移方案为什么比Oracle到
MySQL系列
的迁移容易推动呢?答案即将揭晓。2018第九届中国数据库技术大会,阿里云数据库产品专
猫耳呀
·
2020-03-01 01:34
【NiFi csv to
mysql系列
】二 JSON文件写入数据库
Abstract本文的主要目的是将一个JSON格式的文件写入到数据库中整体流程包含三个Processor:GetFile:读取json格式的文件ConvertJSONToSQL:将json中的元素转化为sql中的insert语句PutSQL:执行上一个processor生成的sql语句,将json中的元素插入到数据库中详细配置GetFile处理器此处理器的配置已经在上一篇文章中进行了介绍,这里将省
JokerRun
·
2020-02-29 13:00
mysql系列
——事务(Transaction)详解
什么是事务简单来说就是:做一件事件必须有有头有尾,一旦开始,只有两种结果,要么失败,要么成功,而不能出现成功了部分失败了部分。专业点说就是:一个事务必须具备ACID属性,所谓得ACID即: 1.Atomicity--原子性: 事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。 2.Consistency--一致性 事务进行过后和执行前,所有数据都是预期一致的(一致性的理解有很多
code_solve
·
2020-02-17 23:13
mysql系列
之(1)——事务和锁
数据库事务是指作为单个逻辑工作单元执行的一系列操作,要么完全执行,要么完全地不执行。事务必须具备ACID四个特性:原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。一致性是指事务必须使数据库从一个一致的状态变到另外一个一致的状态,也就是执行事务之前和之后的状态都必须处于一致的状态。隔离性是指当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作
康康不遛猫
·
2020-02-11 23:18
上一页
9
10
11
12
13
14
15
16
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他