Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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
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
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
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
Quite right, however this opens up the possibility of reading uncommitted data that may be in the process of being rolled back...
If you have a complex query in QlikView (when fetching data from database) it can have impact on the database of course.
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.
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