索引本身可以包含可以在返回之前修剪的记录.所以在这种情况下,单独使用ondex不能用于获取记录(由PostGres完成的MVCC).InnoDB/Oracle仅保留一个版本的数据/索引,并使用撤消部分重建较旧版本的旧版本.
一般使用数据库时,您不会有太多副本,因为定期复制将被垃圾收集(在PostGres中),而Oracle/InnoDB将具有撤销部分,这些部分将在事务中止/提交时重用.如果你有太多的长期运行交易显然你会遇到问题.
索引是为了加快访问速度,更快地找到记录,而不触及所有这些,索引在第一次传递时不需要准确,你可能需要查看元组以查看它是否在某个特定事务中有效(如在PostGres中) ).racle或InnoDB甚至索引都是版本化的,因此您可以从索引本身获取数据.
阅读本文以详细了解实现MVCC(PresGres和Oracle/InnoDB)的两种方法.
InnoDB MVCC和评论也很有用
PS:我不是mysql/oracle/postgres内部的专家,还在学习如何工作.
| 归档时间: |
|
| 查看次数: |
893 次 |
| 最近记录: |