0
A
回答
3
我使用PostgreSQL数据库PostgreSQL的光标。
my $sql = "SOME QUERY HERE";
$dbh->do("DECLARE csr CURSOR WITH HOLD FOR $sql");
my $sth = $dbh->prepare("fetch 100 from csr");
$sth->execute;
while(my $ref = $sth->fetchrow_hashref()) {
//... - processing here
if ($count % 100 == 0){
$sth->execute;
}
}
3
只需在PostgreSQL中使用数据库游标即可。从manual一个例子:
BEGIN WORK;
-- Set up a cursor:
DECLARE liahona SCROLL CURSOR FOR SELECT * FROM films;
-- Fetch the first 5 rows in the cursor liahona:
FETCH FORWARD 5 FROM liahona;
code | title | did | date_prod | kind | len
-------+-------------------------+-----+------------+----------+-------
BL101 | The Third Man | 101 | 1949-12-23 | Drama | 01:44
BL102 | The African Queen | 101 | 1951-08-11 | Romantic | 01:43
JL201 | Une Femme est une Femme | 102 | 1961-03-12 | Romantic | 01:25
P_301 | Vertigo | 103 | 1958-11-14 | Action | 02:08
P_302 | Becket | 103 | 1964-02-03 | Drama | 02:28
-- Fetch the previous row:
FETCH PRIOR FROM liahona;
code | title | did | date_prod | kind | len
-------+---------+-----+------------+--------+-------
P_301 | Vertigo | 103 | 1958-11-14 | Action | 02:08
-- Close the cursor and end the transaction:
CLOSE liahona;
COMMIT WORK;
0
看DBD :: PG docs为例。
在while()循环中使用DBI fetchrow_ *函数来实现较小的内存分配,避免fetchall_ *。
- LongReadLen - '长' 类型字段的最大长度(LONG,BLOB,CLOB,MEMO,等)
- RowCacheSize的(在DBD不用于:与存储器使用
其他数据库选项: :Pg) - 提示驱动程序指出应用程序希望驱动程序用于未来“SELECT”语句的本地行缓存的大小。
1
出了什么问题:
my $s = $h->prepare(select ...);
$s->execute;
while(my $row = $fetchrow_arrayref) {
; # do something
}
相关问题
- 1. 添加到光标内的表格
- 2. 的WinForms光标放在一个表格
- 3. 与表格相关的光标位置
- 4. 带表格参数的光标
- 5. CONTENTEDITABLE格光标DIV
- 6. 使用光标浏览两个表格
- 7. vim中光标下的空格
- 8. IOFrameBufferShared中的不同光标格式
- 9. 使用带有多个表格光标的光标适配器(内部连接)
- 10. 来自ODBC数据库的表格TextBox中的Crazy光标
- 11. 如何在为表格创建光标之前将值插入到表格中?
- 12. 的Perl:获取当前光标图标/类型
- 13. Perl的CGI表格输出
- 14. Perl的打印在表格
- 15. MDX表达式中的光标?
- 16. 从光滑的表格定义中创建表格
- 17. Hive中的光标?
- 18. NSTextView中的光标
- 19. 从光标循环强制光标中的表的SELECT语句到EXIT
- 20. mssql光标的小问题,在光标内的临时表中插入
- 21. 在TEXTAREA的光标处找到空格
- 22. Java:SortedSet“光标”风格的迭代器
- 23. 防止CSS中的荧光笔光标?
- 24. 使用光标适配器的Android表格
- 25. VBA的MS Word表格设置行与行光标所在
- 26. 用光标在表格的行上循环播放
- 27. 将参考光标投射到pl-sql中的表格类型中
- 28. SQL Server:表vs光标
- 29. 临时表与光标
- 30. MySQL:光标从临时表中选择
什么数据库?什么perl模块?什么代码? – 2012-02-13 20:23:22
@BrianRoach对不起,我是Perl新手。 PostgreSQL和DBI。 – 2012-02-13 20:24:54