我是Groovy的新手,我正在尝试使用XmlSlurper读取一个(相当)大的XML文件(超过1Gb),因为它不构建整个DOM,所以它应该可以处理大文件的奇迹.在记忆中.
尽管如此,我仍然得到"OutOfMemoryError:Java堆空间",这让我觉得显然有些东西我做错了.我尝试增加Xmx设置,但我宁愿解决问题,因为我可能不得不处理更大的文件.
这是我使用的代码行:
def posts = new XmlSlurper().parse(new File("posts.xml"))
Run Code Online (Sandbox Code Playgroud)
什么是错的暗示?
提前致谢,
热雷米.
所以我正在研究SQL Server 2008,我有这个查询应该很简单,但由于某种原因不起作用.它看起来基本上是这样的:
SELECT TOP 10
u.Id AS "UserId",
u.CreationDate AS "Member since",
AVG(q.Score) AS "Average Question Rating",
COUNT(q.Id) AS "N. of Questions posted by the agent",
AVG(a.Score) AS "Average Answer Rating",
COUNT(a.Id) AS "N. of Answers posted by the agent"
FROM
Users u,
Answers a,
Questions q
WHERE q.OwnerUserId = u.Id
AND a.OwnerUserId = u.Id
GROUP BY u.Id, u.CreationDate
Run Code Online (Sandbox Code Playgroud)
当我只在Answers表或Questions表上工作时,一切正常.但是,一旦我尝试同时执行这两项操作(如上面的查询),COUNT就完全不起作用了.我得到的是COUNT(a.Id)与COUNT(q.Id)相同.所以我尝试减少查询以查看错误,并且我意识到我只需要在使用其他表时将问题或答案表(即使不使用它们)添加到FROM子句中,一切都被破坏了.
我确定这是一件非常微不足道的事情,我忽略了它但它让我发疯了,如果有人能指出我出了什么问题,我会感激不尽.先感谢您.