Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我知道我们可以索引表中的列、定义主键、分区以更快地访问数据。
但是从一个有 10 列的表和一个有 100 列的表中读取有什么不同吗? 有人可以解释一下如何更快地读取数据库吗?
读取数据涉及:可能的索引访问,存储中的行位置,磁盘之间的物理io,缓冲区,以及对获取的数据执行格式化操作和功能。IO 速度取决于数据大小(以及块大小、磁盘速度、缓冲区大小等其他因素)
您请求的数据越多,该过程通常越慢。如果您有一行包含 2 个整数,则读取 1000 个这样的行会更快,这些行从包含 2 个 Varchar2(500) 行(填充数据)的表中读取相同数量的行。读取 1000 行 2 列也比读取 100 列快。
如果您提供更多详细信息,您可能会得到更具体的答案。