Endless introspection.

Answered

We have Oracle database with big development schema. There are ~11K tables, ~12.5K views, ~4.5K packages, ~2.5K object types. Package's size very often reach 10K lines of code and even higher. So DataGrip takes hours, gigabytes and kilowatt hours to introspect that schema. It is not even able to introspect it with default memory settings. Even slight DDL causes knockout for tens of minutes. Moreover database is a thing many developers are working on. Datagrip does not recognize newly created objects from other developers. Schema reintrospection for hours to see one package or table? Is this a joke? Should I send you a logs? Or maybe schema's DDL?
It is obviuous that DataGrips keeps a copy of that schema in memory. Why don't you change this behaviour? I am sure it's better to have a fast and responsive working product with less features than a broken swiss knife.

12 comments
Comment actions Permalink

@v0id ,

Could you email me vasily.chernov@jetbrains.com your zipped IDE & SQL logs for investigation?

0
Comment actions Permalink

Hello, 

> Should I send you a logs? Or maybe schema's DDL?

it'd be very helpful to get such schema. I've never seen a database schema with so many objects, and we've never tested DataGrip on it. Moreover, I cannot ever imagine myself who could author such one. Or it was generated somehow?

> DataGrips keeps a copy of that schema in memory.

It's needed for auto-completion, inspections and highlighting.

> Why don't you change this behaviour? I am sure it's better to have a fast and responsive working product with less features than a broken swiss knife.

We didn't designed DataGrip for operating with such huge schemas, because the vast majority of schemas are not so big. However, we've planned redefining of this concept and redesign the Oracle introspector, and an example of such huge schema will be very helpful in this regard.

 

 

0
Comment actions Permalink

I'm experiencing something pretty similar after upgrading to 2019.3. I submitted an issue here: https://youtrack.jetbrains.com/issue/DBE-9850

0
Comment actions Permalink

I have similar issues. Overall 2019.3 seems to be slower than the previous version, and upgrading to the most recent 3.2 doesn't seem to help a lot. Introspection will usually take the memory footprint to the maximum 4GB I set in the JVM configuration file, and also bogs down my laptop at the same time (High CPU). I think they probably changed something fundamental in 2019.3 that is very difficult to go back so we have to stay with it until it got figured out in the far future or I upgrade to a 32GB laptop.

0
Comment actions Permalink

Is there any Progress on this topic? I am having similar issues with an Oracle EBS "APPS" Schema.

0
Comment actions Permalink

Jakobs, we're working on the topic, but the work requires a pretty long time: Oracle dictionaries are really slow.

To date, we've re-implemented retrieving sources from LONG columns (the problem https://youtrack.jetbrains.com/issue/DBE-10689); we've optimized some queries for Oracle version 12.

You're welcome to update to the latest stable release, it might help.

0
Comment actions Permalink

Thanks for the quick reply. So it seems I have to wait then...I've already upgraded and unfortunately the Problem persists. But I do understand that this is quite a long process and appreciate that you make the effort to enhance this awesome tool even further!

0
Comment actions Permalink

Jakob Drees,

Also, the fix is available in DataGrip 2020.2 EAP.

0
Comment actions Permalink

vasily chernov Unfortunately my introspection in 2020.2 EAP still takes forever and leaves me with incomplete packages, where it recognizes the package itself and any included procedures and functions, but only implements the signature as a comment.

0
Comment actions Permalink

At the moment I use:

IntelliJ IDEA 2020.1.4 (Ultimate Edition)
Build #IU-201.8743.12, built on July 21, 2020
Licensed to *****
Subscription is active until August 23, 2020
Runtime version: 11.0.7+10-b765.65 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 10 10.0
GC: ParNew, ConcurrentMarkSweep
Memory: 920M
Cores: 4Non-Bundled Plugins: Lombook Plugin

I connected to an Oracle DB instance, turn off Auto-Inspection for this connection. But anyway, if I try to reach any big scheme for the first time, Idea starts inspecting the schema and it lasts for minutes. My company's DBA usually kill my connection and asks my to stop using Intellij because it overloads the DB. All people in my team use Oracle SQL Developer or DBeaver - both apps are quite fast.
I would like to use Idea because I've already used to it working on my previous projects with smaller DB's.
Can I fix it somehow?

1
Comment actions Permalink

Yeah, I'm just reading these posts.
And today, I'm nervous that I might of bogged down my organization's oracle server because of this product's problem with introspection.
I had been doing some work, then wanted to add an additional schema to the managed schema list and it started introspection.
I ended up walking away as I was kinda signing off for the day, but came back and hour and some change latter and it was still introspecting, granted the schema was massive.
I tried to cancel it and it just kept hanging, ultimately I force quit the application and then wasn't able to connect back to the database.
I'm really hoping that I didn't just bring down my organization's oracle server to it's knees from an introspection on a large schema that took a while.
I love DataGrip and used it with Postgres and Snowflake at my last place of work with no issues. 
Using it for the first time with Oracle...it was looking so good, I was so excited to see packages in full detail and not have to be in SQLDeveloper from Oracle...but I might have to switch back to that for a bit.

1

Please sign in to leave a comment.