Foreign Key Optimization

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: 当查询涉及大量不同列组合时,可将不常用数据拆分至独立表中,每个表包含若干列,并通过复制主表的数字ID作为关联纽带。这样每个小表都有一个主键以快速检索数据,并可通过联接操作实现按需查询,减少I/O操作和缓存占用,从而优化查询性能,提升磁盘读取效率。

如果一个表有很多列,并且您查询了许多不同的列组合,那么将不太常用的数据拆分为单独的表,每个表有几列,并通过从主表复制数字ID列将其与主表相关联,可能会很有效。这样,每个小表都可以有一个主键来快速查找其数据,并且您可以使用联接操作只查询所需的列集。根据数据的分布方式,查询可能会执行较少的I/O并占用较少的缓存,因为相关列被打包在磁盘上。(为了最大限度地提高性能,查询试图从磁盘读取尽可能少的数据块;只有几列的表可以在每个数据块中容纳更多的行。)

相关文章
|
1月前
|
存储 关系型数据库 索引
Primary Key Optimization
表的主键是在重要查询中使用的列或列集,并附有索引以确保快速查询性能。由于不允许NULL值,所以能进行NOT NULL优化。在InnoDB存储引擎下,表数据被物理组织,实现基于主键的高效查找与排序。对于大型且重要的表,若无明显主键,可创建自动增量列作为唯一标识符,在外键联接时作为指向其他表行的指针。
|
关系型数据库 数据库 PostgreSQL
PG备份恢复:multiple primary keys for table "t1" are not allowed
PG备份恢复:multiple primary keys for table "t1" are not allowed
416 0
|
数据库
Incorrect table definition; there can be only one auto column and it must be defined as a key
Incorrect table definition; there can be only one auto column and it must be defined as a key
166 0
Incorrect table definition; there can be only one auto column and it must be defined as a key
|
5月前
|
关系型数据库 分布式数据库 PolarDB
InnoDB unique check 的问题
unique secondary index 是客户经常使用的场景,用来保证index 上的record 的唯一性。但是大量的客户在使用unique secondary index以后,会发现偶尔会有死锁或者不应该锁等待的时候,却发生锁等待的情况。也有很多客户来问我们这个问题。理论上PolarDB ...
91 0
InnoDB unique check 的问题
|
存储 关系型数据库 MySQL
ERROR 1215 (HY000): Cannot add foreign key constraint
ERROR 1215 (HY000): Cannot add foreign key constraint
ERROR 1215 (HY000): Cannot add foreign key constraint
|
数据安全/隐私保护 索引
报错:SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'admin'
报错:SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'admin'
449 0
1041 Be Unique (20)
#include #include #include #include #include using namespace std; int main() { int n; cin >> n; ...
758 0