试图更好地理解数据库,特别是sqlite3:
sqlite3中的视图主要是组织功能,允许将复杂查询分解为一系列较小的查询; 或者视图是否会影响使用它们的查询的性能?
我注意到视图作为模式的一部分存储在数据库本身中.视图是否存储在磁盘上,并在更新依赖表时动态更新; 或者他们是否按需评估?
谢谢.
dav*_*off 14
视图将始终按需执行(sqlite3或其他),因此它们返回的结果永远不会持久存储.
至于性能,虽然我不能专门与sqlite3说话,但通常使用视图会略微减少开销,因为查询解析器/规划器不必在每次执行时重新解析原始sql.它可以解析一次,存储其执行策略,然后在每次实际运行查询时使用它.
在宏观方案中,你所看到的性能提升通常很小.如果它是一个经常执行的快速查询,它真的有用.如果您的查询很慢,则不经常执行,与解析查询相关的开销是微不足道的.当然,观点确实提供了一个很好的组织层次.
| 归档时间: |
|
| 查看次数: |
4315 次 |
| 最近记录: |