💡
原文约600字/词,阅读约需3分钟。
📝
内容提要
数据库主要使用非易失性磁盘存储数据,能够在断电后保留信息。数据被分为固定大小的页面,便于访问。不同数据库采用不同的页面大小和存储方式,例如SQLite将所有信息存储在一个文件中,而PostgreSQL为每个表和索引创建单独文件。页面布局和溢出页面处理各有不同,以优化存储和访问效率。
🎯
关键要点
- 数据库主要使用非易失性磁盘存储数据,能够在断电后保留信息。
- 数据被分为固定大小的页面,便于访问。
- 不同数据库采用不同的页面大小和存储方式,例如SQLite使用4KB页面,PostgreSQL使用8KB页面,MySQL使用16KB页面。
- PostgreSQL为每个表和索引创建单独文件,而SQLite将所有信息存储在一个文件中。
- Heap File Organization是常用的文件管理方式,数据以随机顺序存储在页面中。
- Slotted Pages是最常用的页面布局,维护一个“slot array”来连接数据位置。
- 当数据超出页面大小时,SQLite使用溢出页面将数据分割成多个部分,SQL Server则将较大列移动到特定页面。
❓
延伸问答
数据库是如何存储数据的?
数据库主要使用非易失性磁盘存储数据,能够在断电后保留信息。
不同数据库的页面大小有什么区别?
SQLite使用4KB页面,PostgreSQL使用8KB页面,MySQL使用16KB页面。
什么是Slotted Pages布局?
Slotted Pages是最常用的页面布局,维护一个“slot array”来连接数据位置。
当数据超出页面大小时,数据库如何处理?
SQLite使用溢出页面将数据分割成多个部分,SQL Server则将较大列移动到特定页面。
PostgreSQL和SQLite在数据存储上有什么不同?
PostgreSQL为每个表和索引创建单独文件,而SQLite将所有信息存储在一个文件中。
Heap File Organization是什么?
Heap File Organization是常用的文件管理方式,数据以随机顺序存储在页面中。
➡️