Issues viewing large clobs

Toad 17.1

Sometimes I'm querying a table with a clob column and I want to view that some of the clob, for example, sometimes these clobs are a large amount of logging info (e.g. 40MB) and I want to check the first few pages of the log. However, doing so takes an age and it seems like the viewing operation loads the full clob in the clob viewer but this regularly gives memory issues such as the image (when loading a 44MB file), and Toad balks and dies.

image

Apps like Notepad++ and VS Code, appear to handle huge character content situations almost instantly with ease. Perhaps they do a virtual load, loading on demand depending on what the user is doing? Or a buffered load for the viewable region and use a thread to load the rest in the background. Is there anything that could be looked at in this area?

Regards
Paul

Hi Paul.

Thanks for letting us know about this. I'll take a look at it today.

No need to send anything. I can reproduce it.

thanks.

-John

@Paul

This doesn't solve the speed problem, but the memory limitation and crash will stop happening if you switch to 64 bit Toad.

Unfortunately, I have to use the 32 bit Toad version as the Oracle client I use is 32 bit - because we have some internal Oracle connection apps, that also use 32 bit and haven't been 64 bit'd.

If it helps - Toad's installer treats 32 and 64 bit versions as separate products so they can be installed side by side, and you could just run 64 bit Toad in no-client mode.

The only thing to note here is that 32 bit 17.1 and 64 bit 17.1 use the same user files folder, which isn't a big deal unless of course they are running at the same time and one Toad overwrites the other.

1 Like

I've made a few minor optimizations in there that should speed it up a bit, but nothing like caching pages, etc. That kind of change would be complicated and probably just introduce some other problem.

I'm sure you know this, but if you want to just check the first few pages of the log, you could use DBMS_LOB.SUBSTR on that column so that less data is returned.

1 Like

Hi John

Thanks for the optimisations.

Yes, I know about DBMS_LOB.SUBSTR :grinning:, this was more to do with the clob dialog.

Regards
Paul

Yeah, sorry to tell you what you already know. What I should have said is that for me, the biggest part of the time lag on a 40Mb CLOB is seems to be network traffic. So the biggest gains you could make here would be by only returning a portion of the data. I only shaved a few seconds off processing time with the optimizations.

But I still appreciate you letting me know about the error. A forced shutdown here stinks.