在解析大型SQL查询时,我收到JVM OutOfMemory错误。在使用JSqlParser的SQL查询转换期间引发此错误。
以下几行来自线程错误堆栈:
Thread 0x648608688
at java.lang.OutOfMemoryError.<init>()V (Unknown Source)
at java.util.Arrays.copyOf([Ljava/lang/Object;I)[Ljava/lang/Object; (Unknown Source)
at java.util.ArrayList.ensureCapacity(I)V (Unknown Source)
at java.util.ArrayList.addAll(Ljava/util/Collection;)Z (Unknown Source)
从这个堆OutOfMemory问题出来的一种方法是增加配置的堆大小限制。
是否有其他方法/最佳实践可以提高性能,以便在使用JSqlParser进行SQL查询转换时减少堆内存使用量?