Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
ali_hijazi
Partner - Master II
Partner - Master II

Does QlikView...

Just a simple question

Does the load statement locks the DATABASE table from which QlikView is reading via ODBC?

I got this question from a client as during reload of the QV document they are facing slow database performance

they work on JDE / SQL database

Please advise

I can walk on water when it freezes
8 Replies
Not applicable

hi

The load statement loads fields from a typed ASCII file, from data defined in the script, After using Load statement, when Reload qv then qlikview takes all fields of table inside in memory.

Qlikview  work on in memory. so try to use qvd  database, because qv compress up to 90%. and qv work fast

marcus_malinow
Partner - Specialist III
Partner - Specialist III

In Oracle a Select won't issue locks so you shouldn't impact on other users.

In SQL Server a Select will issue a shared lock, which won't prevent other users from reading data, but will prevent updates until the lock is released.


Given that QlikView just issues Select commands via a standard ODBC interface, it behaves just as any other client querying the database.

Hope this is helpful.

Marcus

ali_hijazi
Partner - Master II
Partner - Master II
Author

I know all of this; but what I want to know during reload i.e. Load * ; SQL Select * from table;

does qlikview locks this table on the DATABASE

I can walk on water when it freezes
jonathandienst
Partner - Champion III
Partner - Champion III

Hi

As Marcus said, SQL Server will issue a read lock on a SELECT statement, unless you use a nolock hint.

     SQL Select * From Table with (nolock);

HTH

Jonathan

Logic will get you from a to b. Imagination will take you everywhere. - A Einstein
marcus_malinow
Partner - Specialist III
Partner - Specialist III

Quite right, however this opens up the possibility of reading uncommitted data that may be in the process of being rolled back...

jerrysvensson
Partner - Specialist II
Partner - Specialist II

If you have a complex query in QlikView (when fetching data from database) it can have impact on the database of course.

Not applicable

Hi Ali,

Yes, The load statement will lock the specific DB table for a moment and capture the count of records and then release the table while it extracts all the data. At the same time it won't affect the other users on querying the DB and also it will not affect the DB entry.

Due to the load of extracting the data the server will be slow depends on the data size and the configuration of the DB.

Hope this Helps!

--

Vinoth.

Not applicable

If the LOAD is slow because of slow database, you can:

- BUFFER the load (QV will create a QVD file that will be reread later instead)

- manage your own QVD to read maximum of it and the minimum of the database through a WHERE clause

Fabrice