关系数据库教程

     

20个SQL查询优化技巧

214

以下值得关注的 20个SQL查询优化技术列表: 1.在庞大的表(>1.000.000)行上创建索引 2.使用 EXIST() 代替 COUNT() 查找表中的元素 3.用 SELECT 字段代替 SE.

RDBM最佳实践

105

RDBMS 可以做的事情比大多数人想象的要多得多:1. 添加表通常比更改现有表更好在大公司中尤其如此。对其他团队依赖的核心表进行更改是非常危险的,并且可能需要经过许多批准。这会大大降低团队的敏捷性。取.

一个Spring Boot数据库管理面板的开源项目

132 2K
适用于 Spring Boot 应用程序的即插即用、自动生成的 CRUD 数据库管理面板。在几分钟内为您的 Spring Boot 应用程序生成功能强大的 CRUD 管理仪表板。Spring Boot.

SQL作为声明性语言的缺点

188
许多人不理解SQL的是它是声明性的:当你写ORDER BY时,它并没有告诉DB对数据进行排序,它只是声明您想要一个有序的结果。只有执行计划会告诉你是否有排序操作。SQL的声明性是其主要优势,但也是操作.

幽默:数据库的版本号癖好

299
PostgreSQL:每年发布一个主要版本。MySQL:从5.7毫无理由地跳到8.0。MariaDB:从5.5跳到10.0,以显示它比MySQL更好。ClickHouse:将版本号与年份绑定。SQLi.

使用数据库实现状态机

260 10K

大多数人都熟悉状态机,也知道状态机的价值。一般的状态机库可以帮助你建立状态模型,防止无效转换,并生成图表,帮助非技术人员也能理解代码是如何运行的。这篇文章并不是要论证状态机。而是如何利用状态机的概念,.

Postgres与MySQL比较

373 3K

在 Postgres 和 MySQL 之间进行选择很困难,并且经常引起激烈的争论。Postgres 具有更多功能、更繁荣的社区和生态系统。而MySQL有更容易的学习曲线和更大的用户群。 Postgre.

使用物化视图实时查询微服务

488 4K

分布式系统架构由于其灵活性、可扩展性和容错性而变得越来越流行。然而,实时查询来自多个微服务的数据可能具有挑战性,因为它可能需要复杂且耗时的数据检索操作。物化视图与命令查询职责分离(CQRS) 模式相结.

为什么SQLite适合边缘计算?

584 1

首先它是轻量级的:软件行业有一个习惯,就是在高估和低估内存占用率的产品之间跳动。在桌面内存以千字节为单位的时代,这是一个重要的因素,然后随着硬件变得更便宜和更强大,它被忽视了。当我们开始为内存有限的移.

使用Testcontainers、jOOQ和Flyway实现数据库的生产模拟测试

442 20K

Testcontainers 库帮助我们使用 jOOQ 代码生成器工具从数据库生成 java 代码,我们能够使用我们在生产中使用的相同类型的数据库 PostgreSQL 编写测试,而不是使用模拟或内存.

Figma如何实现Postgres数据库垂直扩展?

601 8K
2020 年,由于新功能的组合、准备推出第二个产品以及更多的用户(数据库流量每年增长约 3 倍),Figma 的基础设施遇到了一些成长的烦恼。我们知道,早年支持 Figma 的基础设施无法扩展以满足我.

在单体到微服务迁移中如何重构关系数据库?

582 1 10K
本文介绍将现有单体应用程序迁移到微服务中,如何重构数据库?数据库重构模式可以通过多种方式重构关系数据库(例如 PostgreSQL)以优化基于微服务的应用程序架构的效率。如前所述,数据库是结构化数据的.

使用ShardingSphere实现Spring Boot分片

798 17K

SpringBoot案例:专注于客户评论的简单业务场景,目的是说明各种用例。 该应用程序使用Spring Boot 框架实现,并通过 Spring Data JPA 与MySQL 数据库通信,代码使用.

PostgreSQL数据库MVCC事务机制的四个问题 - ottertune

799 1 8K

MVCC 的 PostgreSQL 实现是一种设计选择,可实现 ANSI 标准概述的并发隔离级别。MVCC优势(引用自PostgreSQL 文档):使用并发控制的 MVCC 模型而不是锁定的主要优点是.

SQL 二次兴起 - IEEE Spectrum

365

SQL 在今年IEEE Spectrum的顶级编程语言互动排名中占据主导地位。通常情况下,排名靠前的是 Python 或其他主流语言,例如 C、C++、Java 和 JavaScript,但是雇主多次.

数据库分片解释

704 5K
您的应用正在变得越来越好。它有更多的功能,更多的活跃用户,并且每天收集更多的数据。您的数据库现在导致应用程序的其余部分变慢。数据库分片可能是您问题的答案,但许多人不知道它是什么,最重要的是,不知道何时.

反关系数据库anti-RDBMS“邪教”

491 1

在21世纪初,许多网络公司意识到DBA并不了解新公司的需求,因此 "阻碍 "了 "快速发展和突破 "的进程。因此,他们开始避开RDBMS和/或DBA,在应用程序代码中重新创造许多功能。RDBMS开始仅.

四种分布式数据库介绍

731

许多分布式系统有效地使用专用存储,例如: 时间序列 blob存储 图形数据库 空间数据库 下面是对它们的简要介绍:时间序列时间序列是与特定时间相关的大量数据的专门存储。 它们经过优化,可以测量数据随时.

“事务”是任何大规模架构中最糟糕的耦合类型 - techleadjournal

1050 1

Neal Ford 是 ThoughtWorks 的总监兼软件架构师。在这一集中,我们讨论了关于软件架构的所有内容,涵盖了他最近的三本书:“软件架构基础”、“软件架构:硬部分”和“构建演化架构”。我们.

数据库视图的用处 - Reddit

922

数据库视图只是伪装成表的查询。数据表主要记录数据。视图产生从该数据派生的信息。下面是几个用途:1、抽象也许您必须连接来自数十个不同表的数据才能获得特定类型报告所需的所有数据。因此,您可以通过创建一个将.

SQL如今流行单表设计

1206 1 2K

SQL:使用复合键实现快速主从连接Join2000年的开发者们:不要使用SQL,使用ORM。2005年的ORMs:不要使用复合键2010年的NoSQL:SQL连接Joins不能扩展2015年的Dyna.

2022年的数据库:回顾一年 - Andy Pavlo

1021 3K

又是一年过去了,而我还活着。因此,现在是反思去年在数据库世界中发生的事情的绝佳时机。由于DBMS供应商之间的基准战争已经平静下来,街上很安静。我在写去年的回顾时很开心,所以我很高兴能与你分享2022年.

数据库存储引擎如何保证事务 ACID?

882

数据库存储引擎会在事务提交后立即将更改写入磁盘吗?让我们来探讨一下:WAL(Write Ahead Log:预写日志): 存储引擎用来提供原子性A和持久性D(ACID )的一种日志。出于性能原因,每当.

什么是数据库分片?

1979 3K
了解跨多台机器拆分数据库如何通过并行处理大容量应用程序的请求来提高性能当存储在数据库中的数据增长到开始影响应用程序性能的程度时,数据库分片是一种有用的数据库架构模式。数据库分片是一种高级数据库架构概念.

IvorySQL/IvorySQL:兼容Oracle数据库的PostgreSQL

881

IvorySQL 是先进的、功能齐全的、开源的 Oracle 兼容 PostgreSQL,坚定地承诺始终保持 100% 兼容,并直接替代最新的 PostgreSQL。IvorySQL 添加了一个“co.

数据库页Page详解

1808 4K
数据库通常使用固定大小的页来存储数据。表、集合、行、列、索引、序列、文档等最终以页中的字节结束。这样存储引擎就可以从负责数据格式和 API 的数据库前端中分离出来。此外,当一切都是页时,这使得读取、写.

适合用于数据库主键的最佳UUID工具库 - Vlad Mihalcea

1800 1 7K

在本文中,我们将了解哪种 UUID(通用唯一标识符)类型最适合具有主键约束的数据库列。虽然标准的 128 位随机 UUID 是一个非常受欢迎的选择,但您会发现这非常适合数据库主键列。通用唯一标识符 (.

事件溯源是否会超越数据库? - memphis

1415 1 4K

事件源(事件溯源)并不是一个新词,如果你在技术领域工作,你一定接触过事件源。事件源是一个强大的工具,被许多大型组织作为他们的数据库架构设计。它有能力扩大规模并服务于现代数据行业的需求。在这篇文章中,我.

下一代五个一体化数据平台比较

1503 5K

多合一数据堆栈是未来吗?Ben 的文章来得正是时候,因为 dbt 揭开了语义层的面纱,成为了分析生态系统的枢纽。作者比较了五个可用的一体化数据平台,并讨论了它们的优缺点。现代数据堆栈在 2020 年和.

Discord使用ElasticSearch建立数十亿条消息的索引 -Sukhad

1280

Discord 有数百万用户每天发送数十亿条消息。现在,这些用户也想搜索这些消息。我们如何索引这些以使它们可以通过消息中的不同关键字进行搜索?让我们来了解一下:1. 简单的答案是 Discrd 使用 .