我正在为简单的任务处理一小段ksh代码。 我需要从表中检索大约1400万行,然后使用这些信息生成一个xml文件。我对这些信息没有任何处理,只有一些“IF”。 问题是编写文件需要大约30分钟,这对我来说是不可接受的。unix ksh检索oracle查询结果
这是一块Ø代码:
......
query="select field1||','||field2||' from table1"
ctl_data=`sqlplus -L -s $ORA_CONNECT @$REQUEST`
for variable in ${ctl_data}
do
VAR1 = echo ${variable} | awk -F, '{ print $1 }'
VAR2 = echo ${variable} | awk -F, '{ print $2 }'
....... write into the file ......
做
对于加快我只写东西30行文件,所以更多的东西在一行,所以我只有30个将文件夹到文件中。 它仍然很长,所以不是写作,而是循环遍历结果。
任何人都有一个关于如何改善它的ideea?
但是这是否适用于大量数据?大概有1400万行吗? – 2010-03-30 09:28:16
它可以像现在一样使用awk,但会节省重复产生额外进程的成本。这六条线将取代您在问题中显示的循环中的两个作业。如果'ctl_data'收到所有1400万行的值,那么这就是你的问题所在。如果是这样,那么其他解决方案可能会更好。 – 2010-03-30 11:19:39