这只是一个好奇的问题。假设您有一个包含100万行数据的数据库表,您经常需要查询男性或女性、美国或非美国、投票者或非投票者等条件,为该表定义位图索引显然非常高效,其中每个位表示一个二选一的条件。
但是,为了执行查询,仍然必须扫描(可能)所有索引,进行位运算以选择匹配的行。
我的问题是,是否存在某种位图优化存储方式,使得位“通道”在硬件中预先创建?我想象一下,类似于织针从旧的图书馆目录系统中提取打孔卡片。换句话说,芯片可以通过每个位通道的硬件连接电子地提取出匹配的行,而不是逐行遍历内存位置?我觉得大脑一定是这样工作的。如果我想到“所有蓝色的物体”,然后限制为“所有长形蓝色的物体”,然后是“所有长形蓝色重物”,我的大脑会毫不费力地完成它,我相信它并不是每次都在扫描我知道的所有物体。似乎有一些神经元为不同的维度提供了快速检索的路径。我只是想知道硬件世界是否有类似的东西?
谢谢!
但是,为了执行查询,仍然必须扫描(可能)所有索引,进行位运算以选择匹配的行。
我的问题是,是否存在某种位图优化存储方式,使得位“通道”在硬件中预先创建?我想象一下,类似于织针从旧的图书馆目录系统中提取打孔卡片。换句话说,芯片可以通过每个位通道的硬件连接电子地提取出匹配的行,而不是逐行遍历内存位置?我觉得大脑一定是这样工作的。如果我想到“所有蓝色的物体”,然后限制为“所有长形蓝色的物体”,然后是“所有长形蓝色重物”,我的大脑会毫不费力地完成它,我相信它并不是每次都在扫描我知道的所有物体。似乎有一些神经元为不同的维度提供了快速检索的路径。我只是想知道硬件世界是否有类似的东西?
谢谢!