我在数据仓库环境中的数据库设计师中工作。我习惯于处理最多有100万行的表,现在却面临着超过10亿行的表。“效率工具箱”中的工具是否有显着差异?我是否可以相信我以前对索引,分区等的了解,或者这些特定工具中的某些不是对如此大数据的帮助,而是更多的障碍?还有其他处理表格的技巧吗?
(已经找到了一篇很棒的文章,关于将7亿行更新为相同的值)
我在数据仓库环境中的数据库设计师中工作。我习惯于处理最多有100万行的表,现在却面临着超过10亿行的表。“效率工具箱”中的工具是否有显着差异?我是否可以相信我以前对索引,分区等的了解,或者这些特定工具中的某些不是对如此大数据的帮助,而是更多的障碍?还有其他处理表格的技巧吗?
(已经找到了一篇很棒的文章,关于将7亿行更新为相同的值)
Answers:
索引等的基本原理都以完全相同的方式工作,因此严格来说,唯一的区别是犯错的代价!
就是说,这是一些(不一定完整的)值得牢记的事项:
estimate_percent
在收集统计信息时使用较小的值,因此减少了对表的采样。如果您还不熟悉阅读和理解执行计划,那么我会花一些时间来学习这些计划:您一定会遇到性能问题,因此知道如何正确诊断问题将变得更加重要,因为添加新的难度更大当行数较大时索引或更改架构。
数量本身具有质量。
在处理这种大小的表时,不要将事实表视为表,而应将其视为段级别或离散表的集合。(年龄足够大,可以记住使用“分区视图”滚动自己的分区会有所帮助。)
蒂姆·戈曼(Tim Gorman)的《缩放到无限》论文是宝贵的资源。