我反复从一个大表中选择数据块。如何确定要选择的值范围的大小,使我可以尽可能多地访问表,但不必每次都对表进行全表扫描。
示例查询,大小为 1000:
SELECT id, data_col
FROM table_with_data
WHERE id BETWEEN 1000 AND 2000
ORDER BY id;
SELECT id, data_col
FROM table_with_data
WHERE id BETWEEN 2001 AND 3000
ORDER BY id;
SELECT id, data_col
FROM table_with_data
WHERE id BETWEEN 3001 AND 4000
ORDER BY id;
如果需要,其他背景: 在我的具体情况下,我正在尝试从 Oracle 数据库中快速提取值并使用 Hector 加载到 CASSANDRA 数据库中。我有 20-40 个线程同时运行,它们正在选择数据并加载结果。在进行一些性能测试时,我今天为表找到了一些最佳的“批量”大小。然而,表格随着时间的推移缓慢增长,我想看看是否有更好的方法来确定大小,因为我的测试没有提供超级一致的结果。