• 一文搞懂MySQL数据库分库分表

    如果数据量过大,大家一般会分库分表。分库需要注意的内容比较少,但分表需要注意的内容就多了。工作这几年没遇过数据量特别大的业务,那些过亿的数据,因为索引设置合理,单表性能没有影响,所以实战中一直没用过分表。最近手里有个项目,预估数据量会很大,分表方案是选项之一,趁着这次机会,把分表的内容整理一下。这次 2024-12-28 16:18:27
  • 图解MySQL(5)-Buffer Pool的flush链表

    1 内存碎片1.1 啥是BP的内存碎片?BP划分完全部缓存页和描述信息块后,还剩点内存,但却再也放不下新的缓存页。1.2 如何减少内存碎片?DB在BP中划分缓存页时,会让所有缓存页和描述信息块都紧密挨一起,尽可能减少内存碎片。2 脏数据页增删改时,若发现数据页没缓存,就会从free链表找空闲缓存页, 2024-12-27 08:03:09
  • mysql使用source命令导入.sql文件

    背景公司有一个老项目,是给政府部门开发的项目,不清楚当时合同是怎么谈的(那时候我还没有入职),这个管理系统是部署在公司服务器上的。现在他们想把这个系统转移到自己的服务器上,公司管理层面已经同意,剩下就是具体实施了。对方按要求安装了centos系统,在网络安全方面使用了防火墙、堡垒机这一类的东西,之后 2024-12-26 10:45:33
  • MySQL第41课~索引的创建和查看

    大型的数据库和高流量的网站中,索引很重要。可以显著提高查询的技能,也是开发人员和管理人员必会的基本操作。索引的原理数据库引擎用来快速数据的数据结构。根据查询来创建索引,盲目在表上添加索引,会增加数据库的大小,并降低正常的运行速度。举例:如果你想查找一个在北京市的人,在没有索引列表的情况下,SQL会查 2024-12-26 10:17:56
  • 「数据库」MySQL 8.0 Server层最新架构详解

    一、背景和架构本文基于MySQL 8.0.25 源码进行分析和总结。这里 MySQL Server 层指的是 MySQL 的优化器、执行器部分。我们对 MySQL 的理解还建立在 5.6 和 5.7 版本的理解之上,更多的是对比 PostgreSQL 或者传统数据库。然而从 MySQL 8.0 开始 2024-12-26 10:03:09
  • MySQL之MVCC机制:为什么你改了的数据我还看不见?

    一、并发事务的四种场景并发事务中又会分为四种情况,分别是读-读、写-写、读-写、写-读,这四种情况分别对应并发事务执行时的四种场景,为了后续分析MVCC机制时方便理解,因此先将这几种情况说明,咱们首先来看看读-读场景。1.1、读-读场景读-读场景即是指多个事务/线程在一起读取一个相同的数据,比如事务 2024-12-26 09:48:21
  • mysql having 子句

    HAVING 子句用来筛选分组后的各组数据。一、HAVING 子句语法SELECT 列名, 聚合函数(列名) FROM 表名 WHERE 条件表达式 GROUP BY 列表 HAVING 聚合函数(列名) operator value;二、数据库实例数据库有如下 score 表:数据库还有如下 st 2024-12-26 09:33:23
  • MySQL数据库怎么建表?

    1、登陆成功后,首先进入某一个数据库 (不是指数据库服务器)use t1; //t1是数据库名如图所示:2、在此数据库中建立数据库表1)、 先建立表结构(可以理解为表的列名,也就是字段名)在实际生产过程中,表结构是需要经过精心设计的。通用的语法格式为:CREATE TABLE table_name 2024-12-26 09:03:57
  • mysql 8.0.34安装

    下载zip版本建立data目录生成my.ini文件[mysqld]# Remove leading # and set to the amount of RAM for the most important data# cache in MySQL. Start at 70% of total 2024-12-26 08:48:50
  • MySQL创建表(十一)

    在本教程中,我们将向您展示如何使用MySQL CREATE TABLE语句在数据库中创建新表。MySQL CREATE TABLE语法要在数据库中创建一个新表,可以使用MySQL CREATE TABLE语句。 CREATE TABLE语句是MySQL中最复杂的语句之一。下面以简单的形式来说明CRE 2024-12-26 08:02:56