在使用SSD时,数据库中有一些东西应该进行调整。例如,针对PostgreSQL,您可以调整effective_io_concurrency和random_page_cost。然而,更快的读取和更快的随机访问并不是数据库的主要功能。它确保:
他对索引的看法是错误的。如果整个表可以读入内存,索引仍然是有用的。不相信我吗?我们来做一个思想实验。
想象一下,你有一张只有一个索引列的表。 CREATE TABLE foobar ( id text PRIMARY KEY ); 想象一下,这个表中有5亿行数据。 想象一下,这5亿行数据都被连接在一起形成了一个文件。 什么更快, 1. grep '关键词' 文件 2. SELECT * FROM foobar WHERE id = '关键词' 这不仅仅是关于数据所在的位置,还涉及到如何排序以及必须执行哪些操作来找到你要查找的内容。PostgreSQL支持B树、哈希、GiST、SP-GiST、GIN和BRIN索引(通过扩展还支持Bloom)。如果你认为所有这些数学和功能都会因为更快的随机访问而消失,那就太愚蠢了。
O(1)中获取数据并不足以满足数据库提供的用例。 - Honinbo Shusaku