微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从整个分区中选择还是从具有小数据集的表中进行选择之间有区别?

如何解决从整个分区中选择还是从具有小数据集的表中进行选择之间有区别?

| 我是分区新手。 两者之间的性能会有差异吗?
select * from my_partitionedData where date = \'20110523\' 
select * from my_Data where date = \'20110523\' 
其中
my_partitionedData
是被
date
划分为1天的表,而
my_Data
是仅包含
\'20110523\'
的数据并且两个表具有相同结构的表? 另一个问题-如果
my_partitionedData
的所有分区都在同一个文件组中,则运行这些选择的性能会有所不同吗? (注意-选择始终为1天)     

解决方法

像SQL中的所有其他内容一样,您将需要进行测试以确保确定。 话虽如此,我认为您应该获得相同的性能。 在后台,分区表基本上是许多较小的表,这些表在逻辑上结合在一起。如果要在分区表中按天进行分区,并且非部分表只有一天的数据,则执行计划和性能应该几乎相同。     ,如果返回相同的数据集,则分区表和非分区表将返回具有相同IO的数据。如果分区表的碎片较少,那么从磁盘头的随机查找以检索页面开始的IO延迟将减少,但所有100k数据中的总和为100k。 您没有提及是否正在考虑对索引进行分区。分区索引是减少找到数据行位置必须遍历的级别数的绝佳方法。最佳解决方案是对具有相同功能的索引和表进行分区。     ,  其中my_partitionedData是一个表   按日期除以1天,然后   my_Data是仅包含数据的表   \'20110523 \'和两个表都有   相同的结构? 后者会减少访问时间。   另一个问题-谁在那里   跑步表现差异   这些选择是否所有分区   my_partitionedData位于同一位置   文件组? (请注意-选择是   持续1天) 尽管有1天的数据,但在这种情况下访问时间会更长。 需要分区以提高大型表和具有不同访问模式的表的可伸缩性和可管理性。 您创建了两个表来存储有关每日记录的信息,而另一方面,用于每天数据的单个表是最易于设计和理解的,但是这些表未必针对性能,可伸缩性和可管理性进行了优化,尤其是作为表变得更大。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?