首先要声明的就是,千万级数据对于MySQL来说就是不太合理的一个存在。优化MySQL千万级数据策略还是比较多的。分表分库创建中间表,汇总表修改为多个子查询这里讨论的情况是在MySQL一张表的数据达到千万级别。表设计很烂,业务统计规则又不允许把sql拆成多个子查询。在这样的情况下,开发者可以尝试通过优化SQL来达到查询的目的。当MySQL一张表的数据达到千万级 ......
28
0
0
2024-10-29
在一些系统中有时某张表会出现百万或者千万的数据量,尽管其中使用了索引,查询速度也不一定会很快。这时候可能就需要通过分库,分表,分区来解决这些性能瓶颈。一. 选择合适的解决方法1. 分库分表。    分库分表从名字上就明白是需要创建额外的新数据库或新表,可以建在其他的机器上也可以是和当前数据库同一台机器。在优化查询上可能 ......
27
0
0
2024-10-28
目录1、什么是事务?2、介绍下数据库事务?3、并发事务会带来什么问题?3.1、不可重复读和幻读有什么区别?4、数据库隔离级别有哪几种?5、MySQL默认使用隔离级别是啥?6、如何控制并发事务?6.1、锁6.2、MVCC1、什么是事务?事务指的是逻辑上的一组操作,这组操作要么都执行,要么都不执行。最典型的就是转账的例子:老板每个月给你发工资(500元)转账的操 ......
49
0
0
2024-09-14
前天分享了50条MySQL常用脚本,有小伙伴说岳哥怎么突然这么卷?实际上一直都有在学习,只是公众号的算法机制让很多人刷不到,看得人比较少,这才将这些内容分享到各个群和朋友圈,希望能让更多人看到。好了咱们今天继续分享MySQL中一些比较实用的小技巧。1、使用REPLACE INTO来插入或替换数据,避免先删除再插入的操作。REPLACE INTO table_ ......
60
0
0
2024-09-08
花时间整理了50条常用的MySQL脚本,查漏补缺,希望对大家有所帮助。-- 1、插入数据 INSERT INTO example_table (name, age) VALUES ('Alice', 30); -- 2、查询表中所有数据 SELECT * FROM example_table; -- 3、使用 LIMIT 限制结果数量 SE ......
61
0
0
2024-09-08
首先要声明的就是,千万级数据对于MySQL来说就是不太合理的一个存在。优化MySQL千万级数据策略还是比较多的。分表分库创建中间表,汇总表修改为多个子查询这里讨论的情况是在MySQL一张表的数据达到千万级别。表设计很烂,业务统计规则又不允许把sql拆成多个子查询。在这样的情况下,开发者可以尝试通过优化SQL来达到查询的目的。当MySQL一张表的数据达到千万级 ......
81
0
0
2024-09-05
MySQL字段的时间类型该如何选择?千万数据下性能提升10%~30%🚀在MySQL中时间类型的选择有很多,比如:date、time、year、datetime、timestamp...在某些情况下还会使用整形int、bigint来存储时间戳根据节省空间的原则,当只需要存储年份、日期、时间时,可以使用year、date、time如果需要详细的时间,可以选择da ......
101
0
0
2024-09-04
最近线上偶发MySQL的死锁异常,发现原来很多理论都只背了个结论,细节都是魔鬼。比如,MySQL在RR级别用gap lock防止幻读,RC级别就没有gap lock吗?不妨来一起看看,MySQL的死锁问题有哪些你不了解的细节。1、死锁信息1.1 数据库基本信息版本:MySQL 5.7隔离级别: READ-COMMITTED表结构:1.2 死锁日志死锁日志分析 ......
72
0
0
2024-09-03
📑前言事务是数据库管理系统中非常重要的概念,它保证了数据库操作的一致性和完整性。在实际应用中,我们经常需要处理复杂的数据操作,而事务的特性和隔离级别对数据库操作的并发性和稳定性有着重要影响。本文将深入探讨事务的概念、操作和隔离级别,帮助读者更好地理解和应用事务管理的技巧。一. 事务简介事务 是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为 ......
78
0
0
2024-09-01
schooldb库——utf8字符集——utf8_general_ci排序规则先创建库,再去使用下列的DDL语句。DDLCREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '学号', `createDate` datetime DEFAULT NULL COM ......
89
0
0
2024-08-30
之前松哥写过一个 MySQL 系列,但是当时是基于 MySQL5.7 的,最近有空在看 MySQL8 的文档,发现和 MySQL5.7 相比还是有不少变化,同时 MySQL 又是小伙伴们在面试时一个非常重要的知识点,因此松哥打算最近再抽空和小伙伴们聊一聊 MySQL,讲讲原理,讲讲优化,我会从最基本最简单的开始,和大家梳理 MySQL 中常见的面试知识点。本 ......
91
0
0
2024-08-25
在项目初期,我们部署了三个数据库A、B、C,此时数据库的规模可以满足我们的业务需求。为了将数据做到平均分配,我们在Service服务层使用uid%3进行取模分片,从而将数据平均分配到三个数据库中。如图所示:后期随着用户量的增加,用户产生的数据信息被源源不断的添加到数据库中,最终达到数据库的最佳存储容量。如果此时继续向数据库中新增数据,会导致数据库的CRUD等 ......
155
0
0
2024-08-07
个别场景下,开发提需求,需要把某个MySQL里面指定数据同步到ES中,希望能有一个通用的脚本,用于特殊场景下的补数据或者临时性的数据同步。注意: python es包的版本如果和es服务端的版本不一致的话,可能遇到报错。把python es的包版本换成和server端一致的版本即可。下面的这个脚本,是用python+django+celery来实现上述功能的 ......
164
0
0
2024-08-02
数据库和SQL的学习对于我们开发来说是非常重要的,本篇将带你快速上手MySQL并了解什么是DDL和DML!一、数据库1、概述1.1 数据库DataBase (DB),是存储和管理数据的仓库。如下是一些市面上常见的数据库产品1.2 数据库管理系统DataBase Management System (DBMS),操纵和管理数据库的大型软件。1.3 SQLStr ......
195
0
0
2024-07-08
前言这个是暑假为了写一个基于 node.js 的博客而去学习的一些MySql基础的学习记录,当时主要是想学一些SQL查询语句而去学习的,分享到这篇博客里面吧。1. MySQL概述在这一章节,我们主要介绍两个部分,数据库相关概念及MySQL数据库的介绍、下载、安装、启动及连接。1.1 数据库相关概念在这一部分,先理解这三个概念:数据库数据库管理系统SQL而目前 ......
217
0
0
2024-07-03