Sql 一次从大表中获取的最佳行大小

Sql 一次从大表中获取的最佳行大小,sql,database,query-optimization,sybase,Sql,Database,Query Optimization,Sybase,我有一个非常大的表,包含大约2000万行。根据一些筛选条件,我必须从这个表中获取大约400万行。 筛选条件中的所有列都包含在某些索引中,并且表统计信息是最新的 有人建议我不要一次加载所有行,而是使用批量大小,例如一次加载80000行,这比一次加载所有行更快 你能建议这个想法是否有意义吗 如果有意义的话,一次加载的最佳行大小是多少 它可以比单个sql快得多 使用PK分割数据 批量大小。这取决于行的长度和处理时间。从10000开始 线程作业,如果可能的话 使用SSI来操作数据…它可以完成您想要的一切

我有一个非常大的表,包含大约2000万行。根据一些筛选条件,我必须从这个表中获取大约400万行。 筛选条件中的所有列都包含在某些索引中,并且表统计信息是最新的

有人建议我不要一次加载所有行,而是使用批量大小,例如一次加载80000行,这比一次加载所有行更快

你能建议这个想法是否有意义吗

如果有意义的话,一次加载的最佳行大小是多少

  • 它可以比单个sql快得多
  • 使用PK分割数据
  • 批量大小。这取决于行的长度和处理时间。从10000开始
  • 线程作业,如果可能的话

  • 使用SSI来操作数据…它可以完成您想要的一切,比如线程和负载大小和缓存优化


    旋转一个多维数据集或查看商业智能数据仓库工具…

    您打算如何处理所选行?我必须将这些db行加载到内存中,并维护一些内存缓存之类的东西。如果可用,他可以提取一系列PK。是的。。。。我在每批产品中都有一系列的PK。这很公平。在这种情况下,我最好的建议是做一些基准测试。影响最佳批处理大小的因素太多了——例如网络速度(如果将行从数据库中拉出以在数据库之外处理)、运行数据库的机器上的硬件、所有精细的暗魔法数据库配置设置等等——因为存在“明显的”每批的最佳行数。