MySQL查询截取分析

一、查询优化 1,mysql的调优大纲 慢查询的开启并捕获 explain+慢SQL分析 show profile查询SQL在Mysql服务器里面的执行细节和生命周期情况 SQL数据库服务器的参数调优 2,小表驱动大表 mysql的join实现原理是,以驱动表的数据为基础,“嵌套循环”去被驱动表匹配 ... »

JDBC入门程序总结

####JDBC本质 只是一个接口 每个数据库的规范 就是实现类的接口 其实是官方 定义的一套操作所有关系型数据库的规则,就是接口,各个数据库厂商去实现这套接口,提供数据库驱动jar包, 我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类 1.mysql驱动包准备 mysq ... »

MySQL多版本并发控制——MVCC机制分析

MVCC,即多版本并发控制(Multi-Version Concurrency Control)指的是,通过版本链维护一个数据的多个版本,使得读写操作没有冲突,可保证不同事务读写、写读操作并发执行,提高系统性能。 实际上,innodb中“读已提交”和“可重复读”这两种隔离级别的事务在查询数据时访问版 ... »

数据库概论 (一)数据库概念

四个基本概念 数据 Data 即数据库中存储的基本对象,有多个属性,有类型,有属性名,有长度大小的定义等等。 数据的意义是由数据的语意来决定的。 数据库 Database 数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合 特征 数据按一定的数据模型组织、描述 ... »

MySQL的架构

一、MySQL简介 数据库是一个以某种有组织的方式存储的数据集合,它是一个按数据结构来存储和管理数据的计算机软件系统。理解数据库的一种最简单的办法是将其想象为一个文件柜,这个文件柜只是一个存储数据的空间,而数据库就是这么一个空间。 数据库管理系统(Database Management System ... »

Python+MySQL随机试卷及答案生成程序

一、背景 本文章主要是分享如何使用Python从MySQL数据库中面抽取试题,生成的试卷每一份都不一样。 二、准备工作 1.安装Python3 下载地址:https://www.python.org/downloads/windows/ 2.安装库 pip install python-docx== ... »

Excel数据导入MySQL

一、背景 本章主要分享的是将Excel存放的数据导入到MySQL存放。 二、准备工作 1.安装Python3 下载地址:https://www.python.org/downloads/windows/ 2.安装库 pip install PyMySQL==1.0.2 pip install xlr ... »

B树与B+树区别辨析

我们都知道,innodb中的索引结构使用的是B+树。B+树是一种B树的变形树,而B树又是来源于平衡二叉树。相较于平衡二叉树,B树更适合磁盘场景下文件索引系统。那为什么B树更适合磁盘场景,B+树又在B树基础上做了什么优化?抱着这些问题,本博客将深入分析B树和B+树来龙去脉,其中会涉及到二叉排序树和平衡 ... »

常用SQL语句速查

数据库操作 创建数据库 create database DB_NAME charset=utf-8; 使用数据库 use DB_NAME; 删除数据库 drop database DB_NAME; 查看创库sql语句 show create database DB_NAME; 创建表 create ... »

一次mongo查询不存在字段引发的事故

话说今天的一个小小的查询失误给了我比较深刻的教训,也让我对mongo有了更深刻的理解,下面我们来说说这个事情的原委: 我们经常使用阿里云子账号在DMS上查询线上数据库数据,今天也是平常的一次操作 集合: XXXX_message数据量约 600万 我执行了下面的mongo查询: db.XXXX_me ... »

MySQL 事务的隔离级别初窥

简介 MySQL的事务隔离级别一共有四个,分别是读未提交、读已提交、可重复读以及可串行化。 事前准备数据 mysql> create table city( -> id int(10) auto_increment, -> name varchar(30), -> primary key (id) ... »

mysql的安装和配置

1. 安装mysql 到mysql官网下载想要的mysql版本,当前最新的版本为8.0.22,可以选择之前的版本,下载后免安装,直接解压压缩包即可。 2. 配置mysql 2.1 配置环境变量 打开环境变量编辑窗口,选择系统变量下的Path,编辑-->新建-->将刚解压目录下的bin文件目录复制过来 ... »

RocketMQ(十):数据存储模型设计与实现

消息中间件,说是一个通信组件也没有错,因为它的本职工作是做消息的传递。然而要做到高效的消息传递,很重要的一点是数据结构,数据结构设计的好坏,一定程度上决定了该消息组件的性能以及能力上限。 1. 消息中间件的实现方式概述 消息中间件实现起来自然是很难的,但我们可以从某些角度,简单了说说实现思路。 它的 ... »

高性能MySQL学习总结二----常见数据类型选择及优化

一、数据类型的选择 MySQL的数据类型有很多种,选择正确的数据类型对于获得高性能特别地重要,如何选择合适的数据类型呢?主要遵从以下三个原则: 1.更小的通常情况下性能更好 一般情况下,应该尽量使用可以正确存储数据的最小数据类型,比如只需存储0--200的整数,则使用 tinyint unsigne ... »

【Redis】内部数据结构自顶向下梳理

本博客将顺着自顶向下的思路梳理一下Redis的数据结构体系,从数据库到对象体系,再到底层数据结构。我将基于我的一个项目的代码来进行介绍:daredis。该项目中,使用Java实现了Redis中所有的数据结构,思想与Redis大致类似,各种变量的命名与Redis源码基本一致,只是将结构体换成了类来实现 ... »

高性能MySQL学习总结一

一、MySQL逻辑架构 第一层的服务不是MySQL独有的,大多数是基于网络的客户端/服务端的工具,如连接处理、授权认证、安全等等。 第二层就是MySQL的核心功能,包括查询解析、分析、优化、缓存以及所有的内置函数,所有的跨存储引擎的功能都在这一层实现:存储过程、触发器、视图等。 第三层包含了存储引擎 ... »

Java 面试知识点【背诵版 240题 约7w字】

—— 转载自牛客网 是瑶瑶公主吖 Java 基础 40 语言特性 12 Q1:Java 语言的优点? ① 平台无关性,摆脱硬件束缚,"一次编写,到处运行"。 ② 相对安全的内存管理和访问机制,避免大部分内存泄漏和指针越界。 ③ 热点代码检测和运行时编译及优化,使程序随运行时间增长获得更高性能。 ④ ... »

分布式事务了解吗?你们的多个服务间数据一致性解决方案是什么?

前言 看标题就知道,这个又是个在面试中被问到的问题。这个问题其实是在我上次换工作的时候面试被问到过几次,之前也没在意过,觉得这个东西可能比较深奥,我直接说不理解吧。但是随着Java开发这个行业越来越卷,这次换工作一定要做好充足的准备。把之前落下的坑都填好,再出去受虐(面试)。 什么是分布式事务 我们 ... »

关于MySQL索引知识与小妙招 — get get get

一、索引基本知识 1.1 索引的优点 大大减少了服务器需要扫描的数据量,加快数据库的检索速度 帮助服务器避免排序和临时表 将随机io变成顺序io 1.2 索引的用处 速查找匹配WHERE子句的行 从consideration中消除行,如果可以在多个索引之间进行选择,mysql通常会使用找到最少行的索 ... »