这不是一条 SQL 就搞定的事情吗? 我曾经负责过的并发量蛮高的商品库存系统,核心扣减逻辑真的就是靠一条 SQL 搞定的。没有引入分布式锁(如 Redis Lock)或者消息队列。 核心思路其实就是数据库层面的乐观锁。利用 MySQL 的行锁特性 + UPDATE 语句的原子性,再配合 Java 中判断影响行数(Affected ...
随着数据量爆炸性的增长,数据库类产品创新层出不穷,为了更好的做技术选型参考,笔者对国内主流 8 种数据库进行了 TPC-H(数据分析)性能评测,被测试的数据库包括:MySQL、PostgreSQL、Oracle、达梦、ClickHouse、Doris、Starrocks、DuckDB。 测试方法 TPC-H:国际数据库 ...
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET ...
在《TBase Quick Start》文章中我们介绍了TBase的架构、源码编译安装、集群运行状态、启动停止等内容;在《TBase应用接入指南》中,我们介绍了应用程序连接TBase数据库进行建库、建表、数据导入、查询等操作。本篇将介绍TBase中特有的shard表、冷热分区表、复制表 ...
注释:在上面的实例中,只有一个主键 PRIMARY KEY(pk_PersonID)。然而,pk_PersonID 的值是由两个列(P_Id 和 LastName)组成的。 ALTER TABLE 时的 SQL PRIMARY KEY 约束 当表已被创建时,如需在 "P_Id" 列创建 PRIMARY KEY 约束,请使用下面的 SQL: 注释:如果您使用 ALTER TABLE 语句 ...