在 Ms-Access 数据库中使用索引

在 Ms-Access 数据库中使用索引

为什么索引会使查询运行得更快?索引有什么作用?特别是在 Access 中,如果将列声明为索引,这会对查询产生什么影响?

有任何想法吗?

答案1

这是非常复杂的东西,所以我给你一个总结。

数据以文件的形式存储在磁盘上,因此文件中表中的每个记录都有一个起始的物理存储地址。

索引将索引字段和记录所在的存储地址存储在针对搜索进行了优化的树形数据结构中(通常是 B 树),这样只需很少的比较即可浏览数据结构,找到所需的索引数据,然后检索存储记录的存储地址。然后可以检索记录本身。

因此,我们无需逐行读取表格来查找记录,而是询问索引。索引对 B 树进行 3 次读取,找到所要查找的索引项,并将数据的地址绑定到该项,然后返回该地址。如果您的记录是表格中的第 1024 行,那么您只需 4 次读取即可完成任务,而不是 1025 次。

答案2

来自这篇微软文章

创建并使用索引来提高性能

您可以使用索引来帮助 Microsoft Office Access 更快地查找和排序记录。索引根据您选择索引的字段存储记录的位置。Access 从索引中获取位置后,它可以通过直接移动到正确位置来检索数据。这样,使用索引比扫描所有记录来查找数据要快得多。

相关内容