为啥不能用uuid做MySQL的主键?
在 MySQL 中设计表的时候,MySQL 官方推荐不要使用 uuid 或者不连续不重复的雪花 id(long 形且唯一,单机递增),而是推荐连续自增的主键 id,官方的推荐是 auto_increment。
2020-09-25
【MongoDB】mongodb安装及常用操作命令
.......................................................................................环境:centos7Ip: 172.16.200.48..............................................................................................
Python如何操作Mongodb
首先你要先安装好Mongodb,Mongodb的安装可以参考这个百度文章[链接]安装完毕之后,大家要是对命令行操作不是很熟悉的话,可以按照一个mongodb的可视化工具,我用的是Robo 3T,操作也很简单
用MySQL设计表的时候你会用UUID做主键吗?
在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一,单机递增),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?
2021-04-01
使用uuid做MySQL主键,被老板,爆怼一顿!
前言:在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?本篇博客我们就来分析一下这个问题,探讨一下内部的原因。
2022-07-09
Insert into select语句引发的生产事故
Insert into select请慎用。这天xxx接到一个需求,需要将表A的数据迁移到表B中去做一个备份。本想通过程序先查询查出来然后批量插入。但xxx觉得这样有点慢,需要耗费大量的网络I/O,决定采取别的方法进行实现。通过在Baidu的海洋里遨游,他发现了可以使用insert into select实现,这样就可以避免使用网络I/O,直接使用SQ...
2020-03-10
Java数据结构与算法——插入排序
前言:Java数据结构与算法专题会不定时更新,欢迎各位读者监督。本篇文章介绍排序算法中插入排序算法,包括插入排序的思路,适用场景,性能分析,java代码等
四、数据完整性
数据完整性是指存储在数据库中的数据应该保持一致性和可靠性。关系模型允许定义四类数据约束,分别是:实体完整性、参照完整性、用户定义完整性约束以及域完整性约束。前两个和最后一个完整性约束由关系数据库系统自动支持。
2021-06-24
Laravel Mysql SQLSTATE[42000]: Syntax error or access violation
ONLY_FULL_GROUP_BY对于GROUP BY聚合操作,如果在SELECT中的列,没有在GROUP BY中出现,那么将认为这个SQL是不合法的,因为列不在GROUP BY从句中
什么是MySQL插入意向锁?
Insert Intention Lock,中文我们也称之为插入意向锁。这个可以算是对我们之前所讲的 Gap Lock 的一个补充,关于 Gap Lock,如果还有小伙伴不懂,可以参考:记录锁、间隙锁与 Next-Key Locks。1. 为什么需要插入意向锁我们之前已经有 Gap Lock 了,Gap Lock 可以帮我们在一定程度上解决幻读问题,但是,之前的似乎有点问...
echarts动态获取数据实例
小拽的demo中,根据echarts的api,绘制出了原有的图形展示;之后,对js设置了个定时任务,实时的去获取数据库中可能新入库的数据,接口通过php简单调用数据库实现。
【YashanDB知识库】GBK库,生僻字插入nvarchar2字段后乱码问题
本文内容来自YashanDB官网,原文内容请见 [链接]问题现象如下SQL,插入的人名中有两个GBK生僻字和,GBK编码中没有这两个字符。 {代码...} 插入后,客户端utf8编码,显示为乱码。用gbk和问题的风险及影响客户端和服务端编码不同,服务端是gbk时,gbk生僻字,插入不正常。问题影响的版本23.2.4.14及之前版本问题发生原因gb...
2024-12-18
使用golang在与数据库访问过程中的一点想法
现在我们假设一个场景,表A有3个字段{AID int,AField1 string,AField2 string},表B也有3个字段{ID int,BField1 string,REF_AID int},其中表B中的REF_AID是外键对应表A中的AID。对应在GO中的数据结构应该为:
2013-12-09
【Clickhouse】ReplaceingMergeTree引擎final实现合并去重探索 | 京东云技术团队
在OLAP实践中,在有数据更新的场景中,比如存储订单数据,我们经常会用到ReplaceingMergeTree引擎来去重数据,以获取数据的最新状态。但是ReplaceingMergeTree引擎实现数据的去重合并的操作是异步的,这样在实际查询的时候,其实是仍然有一部分数据是未进行合并的。为了保证统计数据的准确性,比如订单金额,一个常用的...
2023-06-08
MyBatis 批量插入数据的 3 种方法!
批量插入功能是我们日常工作中比较常见的业务功能之一,之前我也写过一篇关于《MyBatis Plus 批量数据插入功能,yyds!》的文章,但评论区的反馈不是很好,主要有两个问题:第一,对 MyBatis Plus(下文简称 MP)的批量插入功能很多人都有误解,认为 MP 也是使用循环单次插入数据的,所以性能并没有提升;第二,对于原生...
2021-10-08
【YashanDB 知识库】GBK 库,生僻字插入 nvarchar2 字段后乱码问题
问题现象如下 SQL,插入的人名中有两个 GBK 生僻字 和 ,GBK 编码中没有这两个字符。 drop table t1;create table t1(id int,c1 nvarchar2(128));insert into t1 values (1,'xx林海');//生僻字显示不出来,用xx替换 drop table test061;create table test061(c1 nvarchar2(1600));insert into test061 values( '艳梅...
2025-02-22
MyBatis Plus 批量数据插入功能,yyds!
最近 Review 小伙伴代码的时候,发现了一个小小的问题,小伙伴竟然在 for 循环中进行了 insert (插入)数据库的操作,这就会导致每次循环时都会进行连接、插入、断开连接的操作,从而导致一定的性能问题,简化后代码如下: