Is Wappler loading the database records all at once?

I have a MySQL database with 86k records. When the database query is loaded in a Wappler table, the “Design” view in Wappler stops responding and after a while it responds quite slow showing data records but the Wappler fields in “design” view are not responsive to anything. It would appear that Wappler loads the entire database.

When I load the webpage via browser, the records take a while to appear on the screen and it appears that the entire 86k records are loaded into the browser.

Please advice.

Hello,
For such a huge database table just use paged query and limit the records per page.
You don’t need to show 80k+ records on a page…

@Teodor but the issue i faced with paged query is with limited search on the current page.
is there a way(if possible) to search the whole database with paged query?

Hi @mrbdrm, I think you should retry applying the search, because It applies to all database results and not to those that are rendered in the current page result. If you have 50 pages and you make a search it will reduce the number of pages shown based on your search

weird it only search the current page i am at :sweat_smile:
so if i have a record on the last page it will not return as a result if i search on the first page.

i will give this another go

you should place the filters on the repeat and and not the query itself

im talking about the paged query server action search by the way.

i have a paged query sever action with search variable, and i use the table generator on the page. and the text field is above the table and i assign the search variable to the search field.
anything else missing?

you should not place any filters on the paged query and then apply the filtering on the repeat created by the table generator. Something like this
<div class="col-lg-12 mt-8" id="repeatAnypswtikaContainers" is="dmx-repeat" dmx-bind:repeat="get_anypswtika_containers.data.repeat1.where('selling_type_fgn', enoikiasi_pwlisi.value, &quot;startsWith&quot;)">

Although this repeat is not from a table but one I am currently working on, just notice the .where
You should place your filtering there

But that is not what is shown in the DMX tutorial :thinking:
does your way work with Data View?

the only difference i have is the query type set to paged.

If you want your filters to be working on the entire database results (on a paged query) and not being applied in the current page only, just apply the filtering on the repeat. Even better if you are using a dataview. Yes it works with dataview also. Check code below from another project

	    		  <dmx-data-view id="data_view_all_active_products" dmx-bind:data="all_active_products.data.query1" filter="product_brand_fgn_id==query.i &amp;&amp; (query.b ? product_category_fgn_id==query.b : true)"></dmx-data-view>


//THREE FILTERS (two queries and an input)
<dmx-data-view id="data_view_all_active_products" dmx-bind:data="all_active_products.data.query1" filter="product_brand_fgn_id==query.i &amp;&amp; (prodNameFilter.value? product_name_gr.fuzzySearch(prodNameFilter.value):true) &amp;&amp; (query.b ? product_category_fgn_id==query.b : true)" ></dmx-data-view>
1 Like

Niko,
Data view is not suitable for large data sources (more than 3k records.)

Yes just showing him the way if he uses dataview

For 80+k records he should not be using data view, also he should not be filtering the repeat.

no one said anything about the count
he is showing me how to search

1 Like

haha thank you for your support @mrbdrm

1 Like

The initial post of this topic says the user has 86k records.

Yeah truth. How is he going to filter the paged query and apply filtering on all of the records and not the current page only?

The same way as you filter normal queries. Using the query builder in server connect.

1 Like

@Teodor as i explained previously that didn’t work :slightly_smiling_face:
and for Data Views there is no search functionality that i know of. i will try @t11 suggestion

It should be working just fine.
Data view has a filter field… it is the same as filters in the query builder but it works clientside.