Data Table Rendering Issue for 10k records - angularjs

We are displaying 10,000 rows in table in the browser.
The example given in https://datatables.net/extensions/scroller/examples/initialisation/large_js_source.html shows we can show 50,000 records very quickly
We are using Angular with ng-repeat which takes 2 minutes to load the table. We have created 5 columns. In which one of the column has a condition options which will be enabled based on certain conditions for each rows. Whenever we add few options to the button it takes more time
example, edit, delete, view etc., in the action button which is part of a column
We observed whenever we add option along with the ng-repeat with the options takes huge time to render the table.
How to speed up the rendering time ??? Please advise.
Thanks.

Related

React - infinite scroll for table

I have an infinite scroll located at the bottom of the page, and when scrolling to the end of the table, it will fetch and bring more data. This table contains also a search for each column:
The issue starts once the user enters a value into one of the search boxs.
That is when I filter the data and return filtered fields, but once I do that, the table has fewer rows, thus, it gets to the bottom of the page and sends a fetch call to get more data and the table is not being filtered anymore. What will be the best practice to deal with this issue?
Thanks

SQL : Display Chunk data from huge list performance

I have to fetch n number of records from the database. The count of this record may very manager to manager. It means one manager can have 100+ records and other may have only 50+ records.
If it is all about fetching data from only one table then its super easy to get.
In my case the main pain point is I will get my result after using so many joins , temp tabels , functions , maths on some column and dates filter using switch cases and many more and yes each tables has 100k+ records with proper indexing.
I have added pagination in UI side so that I can get only 20 records at a time on screen. once I clicked on page number based on that I should offset the records for next 20. Supposed clicked on page number 3 then from db I should get only records from 41- 60.
UI part is not a big deal the point is how to optimise your query so that every time I should get only 20 records.
My current implementation is every time I am calling the same procedure with index value to offset the data. Is that correct way to run same complex with all functions , cte, cases in filters and inner/left joins again and again to fetch only piece of data from recordset.

Enable scrolling+paging in ADF table

I want to create a table that implements normal paging but I want it to load 100 records per page and allow scrolling to view these records. My table is only big enough to display 18 records, therefore scrolling is desired to view all 100 records and perform bulk update operations.
I've tried scollPolicy="loadMore", but this is not the desired solution.
To have pagination on an ADF table when there is more than 100 records you have to :
Set the AutoHeightRow attribute to the number of lines you want your table to display (aka the height of your table) In your case 18
set the scrollPolicy attribute to page so your table is gonna display a pagination for more that 100 rows
Set the FetchSize attribute to how many row you want to preload (in your case 100)(It's better if you set it in your iterator RangeSize attribute)
If you are using a View Object, make sure to tune it to support the Range Size. In the VO editor, General Tab, under tuning, set the Fetch to at least three (3) more than Range Size. In this case it would be 103.

Solution for loading hint from Database

I'm using selectbox for your to choose multiple username. The username are retrieved from database and i use select username from users. Data are loaded all when the page rendered.
For now it worked because doesn't have many users, I assume that the table has 1 millions records then loading all of the table will take plenty of time. If i send request for query when user starts typing, it will not fast enough to retrieve data.
So how to solve this?
You'll need to ensure a minimum of 3-4 characters are supplied to the backend query (delay the query until 3-4 chars are entered), then perform a 'starts with' lookup on an INDEXED column in your database.
This should restrict the data searched/returned. Ensure the query is indexed!
Use pagination technique. Run the query to retrieve 100 records. Then if still scrolling, can retrieve more. Must be possible.

ADF DB connection and sessions

I have 1 application module, 1 connection to DB and two DataControls based on a single ViewObject. They are placed on the same form. Is it any possibility that ADF makes 2 sessions when I insert data to first DataControl and trying to re-execute query in second?
Yours is not practically a problem. It is the way it should work. Two users cannot update/change the same row in the same time. The first that Commits the change is OK whereas to the second an Error popup will be displayed telling him that the current row has been updated from someone else. If the users are not working (changing) the same row but different rows of the same ViewObject then you should consider this link:
http://radio-weblogs.com/0118231/stories/2004/03/24/whyDoIGetOraclejborowinconsistentexception.html
I suggest you take a look also to this book, you can find it free to download, just search a bit.
http://www.amazon.com/Quick-Start-Oracle-Fusion-Development/dp/0071744282
Have a nice day, tung.

Resources