最近笔者和同事争辩起来,MySQL插入是并发还是串行,我记得明明是串行插入,同事非要和我杠,说MySQL可以并发插入。
2024年08月02日
作为后台开发者,时常我们会好奇当我们执行一条语句时,数据库会执行哪些操作,今天我们介绍当插入一条数据到 MySQL 中并指定使用 InnoDB 存储引擎时,MySQL 内部的工作流程:
2024年08月02日
专注于Java领域优质技术,欢迎关注
作者:Jay_huaxiao
整理了一些Mysql数据库相关流程图/原理图,做一下笔记,大家一起学习。
1.mysql主从复制原理图
mysql主从复制原理是大厂后端的高频面试题,了解mysql主从复制原理非常有必要。
2024年08月02日
今天主要说说mysql数据库的WAL机制,WAL 的全称是 Write-Ahead Logging,它的关键点是,先写日志,再写磁盘。
用户如果对数据库中的数据就行了修改,必须保证日志先于数据落盘。当日志落盘后,就可以给用户返回操作成功,并不需要保证当时对数据的修改也落盘。如果数据库在日志落盘前crash,那么相应的数据修改会回滚。在日志落盘后crash,会保证相应的修改不丢失。有一点要注意,虽然日志落盘后,就可以给用户返回操作成功,但是由于落盘和返回成功包之间有一个微小的时间差,所以即使用户没有收到成功消息,修改也可能已经成功了,这个时候就需要用户在数据库恢复后,通过再次查询来确定当前的状态。 在日志先行技术之前,数据库只需要把修改的数据刷回磁盘即可,用了这项技术,除了修改的数据,还需要多写一份日志,也就是磁盘写入量反而增大,但是由于日志是顺序的且往往先存在内存里然后批量往磁盘刷新,相比数据的离散写入,日志的写入开销比较小。 日志先行技术有两个问题需要工程上解决:
2024年08月02日
在MySQL数据库中,插入新数据是一项天然的操作。在学习MySQL的过程中,了解如何插入数据已经成为了必不可少的技能。本文将详细讲解在MySQL中插入一条新数据的过程并提供一些注意事项。
在进行数据插入之前,您需要先连接到MySQL服务器以及选择要发生插入操作的具体表。您可以使用以下命令执行这两个步骤:
2024年08月02日
INSERT ... VALUES
INSERT ... SET
根据明确指定的值插入行
INSERT ... SELECT
插入从另一个表或多个表中选择的行
INSERT ... ON DUPLICATE KEY UPDATE
如果要插入的行会导致UNIQUE索引或PRIMARY KEY中出现重复值,则使用带有ON DUPLICATE KEY UPDATE子句的INSERT可以更新现有行
2024年08月02日
在MySQL数据库中,INSERT语句是一种非常重要的数据操作语句,用于向表中插入新的数据行。在本文中,我们将深入探讨INSERT语句的各种语法和应用,以帮助你在MySQL中更高效地操作数据。
首先,让我们了解INSERT语句的基本结构。INSERT语句由INSERT关键字、INTO关键字、值列表和其他可选的子句组成。下面是一个简单的INSERT语句的例子:
2024年04月25日
2024年04月25日
这是我曾经面试去哪儿网的面试题,这个问题并不是要你回答准确的时间,而是考察如何设计一个系统,最快速的插入10亿条数据,我当时傻乎乎的回答三小时,支支吾吾没说出所以然。面试官看我没睡醒,让我回去等通知。好在他把简历退给我了,我省了一份简历。
今天尝试重新思考下,好好打他脸。
2024年04月25日
第一步:创建存储过程
CREATE PROCEDURE test()
begin
DECLARE n int DEFAULT 1;
WHILE n < 10001 DO
insert into txl(xm,lxdh,csrq) values('aaaaa','9111111','2022-12-12');
set n = n + 1;
END WHILE;
end