PluginUs.Net - Business Tools for WooCommerce and WordPress

[realize your idea - make your dreams come true]

Support Forum

You need to log-in to create request (topic) to the support

Speed Recount

The support doesn work on Saturdays and Sundays, so some Friday requests can be answered on Monday. If you have problems with registration ask help on contact us page please
If you not got email within 24~36 business hours, firstly check your spam box, and if no any email from the support there - back to the forum and read answer here. DO NOT ANSWER ON EMAILS [noreply@pluginus.net] FROM THE FORUM!! Emails are just for your info, all answers should be published only here.
The support doesn work on Saturdays and Sundays, so some Friday requests can be answered on Monday.

Hello

https://share.pluginus.net/video/v20250124110146.mp4  - I checked, with caching it works fast

hey, yes thank, but choose any combination thats not cached, so maybe random 3-4 filter, e.g.
https://www.loom.com/share/577563bf68d64b7d97e94df324b07e21?sid=ce3219de-ccf0-4a95-8ac2-354cbaf8c909

then the query takes super long, thats my problem :)
I wonder how other pages handle this with much more filters / products?

An idea would be to prefetch cache, so that the plugin prefetches all different queries when deleting cache, but that only you can do :)

Unfortunately, the plugin does not have a cache warming function.

Also, the filter speed depends on the server resources.

ok, so ths beaviour & requests are"normal"?

400M should be enough and our server really fast.. thx

Hello

Yes, this behavior is not normal. That's why I wrote about the server.  Can I disable  plugins/theme to test?

400M  - What is this?

hey ok thanks, we are currently debugging some stuff so please no changes on theme / plugins at the moment, let me come back to you if thats necessary.

400M = memory cache, sorry!

 

Ok! I'm waiting for your confirmation.

oky!!

 

but this is fine? (one slow query as example, wondering qhy sidebar etc. loaded in each query)? taking 0,3s..

thx again

 

SELECT s1h4f7_posts.ID
FROM s1h4f7_posts
LEFT JOIN s1h4f7_postmeta
ON ( s1h4f7_posts.ID = s1h4f7_postmeta.post_id )
LEFT JOIN s1h4f7_postmeta AS mt1
ON ( s1h4f7_posts.ID = mt1.post_id )
LEFT JOIN s1h4f7_postmeta AS mt2
ON ( s1h4f7_posts.ID = mt2.post_id )
LEFT JOIN s1h4f7_postmeta AS mt3
ON ( s1h4f7_posts.ID = mt3.post_id )
LEFT JOIN s1h4f7_postmeta AS mt4
ON ( s1h4f7_posts.ID = mt4.post_id )
LEFT JOIN s1h4f7_postmeta AS mt5
ON ( s1h4f7_posts.ID = mt5.post_id
AND mt5.meta_key = 'mdf_hide_post' )
WHERE 1=1
AND ( ( s1h4f7_postmeta.meta_key = 'medafi_536225091b2a4'
AND s1h4f7_postmeta.meta_value = '500bis750' )
AND ( mt1.meta_key = 'medafi_55fbcd4056772'
AND mt1.meta_value = 'italien' )
AND ( mt2.meta_key = 'medafi_5362c42fae875'
AND mt2.meta_value = '2500bis3000m' )
AND ( mt3.meta_key = 'medafi_5362a5d8a314c'
AND mt3.meta_value = 'hochtour' )
AND ( mt4.meta_key = 'meta_data_filter_cat'
AND mt4.meta_value = '231' )
AND mt5.post_id IS NULL )
AND s1h4f7_posts.post_type = 'post'
AND ((s1h4f7_posts.post_status = 'publish'))
GROUP BY s1h4f7_posts.ID
ORDER BY s1h4f7_posts.post_date DESC

    1. WP_Query->get_posts()
      wp-includes/class-wp-query.php:3238
  • WP_Query->query()
    wp-includes/class-wp-query.php:3852
  • WP_Query->__construct()
    wp-includes/class-wp-query.php:3984
  • WP_QueryMDFCounter->__construct()
    wp-content/plugins/meta-data-filter/core.php:451
  • MetaDataFilterHtml::get_item_posts_count()
    wp-content/plugins/meta-data-filter/classes/html.php:273
  • MetaDataFilterCore::render_html_e()
    wp-content/plugins/meta-data-filter/core.php:304
  • MetaDataFilterPage::draw_front_page_items()
    wp-content/plugins/meta-data-filter/classes/page.php:131
  • MetaDataFilterCore::render_html_e()
    wp-content/plugins/meta-data-filter/core.php:304
  • MetaDataFilter_Search->widget()
    wp-content/plugins/meta-data-filter/classes/widgets.php:50
  • WP_Widget->display_callback()
    wp-includes/class-wp-widget.php:394
  • dynamic_sidebar('sidebar-1')
    wp-includes/widgets.php:845
  • load_template('wp-content/themes/gonzo/sidebar.php')
    wp-includes/template.php:810
  • locate_template()
    wp-includes/template.php:745
  • get_sidebar()
    wp-includes/general-template.php:136

hey tested by my own deactivating some plugins and theme change - unfortunately w/o improvement ://

 

also updatet mdf to latest version.

do you suggest any our plugin you see issue? feel free to test now thx

ps: some years ago you made some customization, not sure if thats a reason, just forwarded you an email..

best & thx again

Sorry last one, FYI i am using Query Monitor, there you can see the"slow" queries.. (if you hizt"search" before recount finished)
Thx again

View post on imgur.com

Sorry JFYI: MySQL (Maria DB10.6) takes 0,3s for each query, so i  dont think this is related to any other plugin etc. but the query / index?

Hey,
sorry again,
a Developer suggested to update the Query (see below) making it 5x faster..
Maybe that helps ;)


New Updated:
MariaDB 10.6 admin@mc23279 [db470249_8]> SELECT SQL_NO_CACHE s1h4f7_posts.ID
    -> FROM s1h4f7_posts
    -> WHERE s1h4f7_posts.post_type = 'post'
    -> AND s1h4f7_posts.post_status = 'publish'
    -> AND EXISTS (
    ->     SELECT 1
    ->     FROM s1h4f7_postmeta
    ->     WHERE s1h4f7_postmeta.post_id = s1h4f7_posts.ID
    ->     AND s1h4f7_postmeta.meta_key = 'medafi_5362c42fae875'
    ->     AND s1h4f7_postmeta.meta_value = 'ueber4000m'
    -> )
    -> AND EXISTS (
    ->     SELECT 1
    ->     FROM s1h4f7_postmeta AS mt1
    ->     WHERE mt1.post_id = s1h4f7_posts.ID
    ->     AND mt1.meta_key = 'medafi_604b860c9cbc2'
    ->     AND mt1.meta_value = '1'
    -> )
    -> AND EXISTS (
    ->     SELECT 1
    ->     FROM s1h4f7_postmeta AS mt2
    ->     WHERE mt2.post_id = s1h4f7_posts.ID
    ->     AND mt2.meta_key = 'meta_data_filter_cat'
    ->     AND mt2.meta_value = '231'
    -> )
    -> AND NOT EXISTS (
    ->     SELECT 1
    ->     FROM s1h4f7_postmeta AS mt3
    ->     WHERE mt3.post_id = s1h4f7_posts.ID
    ->     AND mt3.meta_key = 'mdf_hide_post'
    -> )
    -> GROUP BY s1h4f7_posts.ID
    -> ORDER BY s1h4f7_posts.post_date DESC;
Empty set (0.058 sec)

Original:
MariaDB 10.6 admin@mc23279 [db470249_8]> SELECT SQL_NO_CACHE s1h4f7_posts.ID FROM s1h4f7_posts
    -> LEFT JOIN s1h4f7_postmeta ON(s1h4f7_posts.ID=s1h4f7_postmeta.post_id)
    -> LEFT JOIN s1h4f7_postmeta AS mt1 ON(s1h4f7_posts.ID=mt1.post_id)
    -> LEFT JOIN s1h4f7_postmeta AS mt2 ON(s1h4f7_posts.ID=mt2.post_id)
    -> LEFT JOIN s1h4f7_postmeta AS mt3 ON(s1h4f7_posts.ID=mt3.post_id AND mt3.meta_key='mdf_hide_post')
    -> WHERE 1=1 AND((s1h4f7_postmeta.meta_key='medafi_5362c42fae875' AND s1h4f7_postmeta.meta_value='ueber4000m')
    -> AND(mt1.meta_key='medafi_604b860c9cbc2' AND mt1.meta_value='1')
    -> AND(mt2.meta_key='meta_data_filter_cat' AND mt2.meta_value='231')
    -> AND mt3.post_id IS NULL)
    -> AND s1h4f7_posts.post_type='post'
    -> AND((s1h4f7_posts.post_status='publish'))
    -> GROUP BY s1h4f7_posts.ID
    -> ORDER BY s1h4f7_posts.post_date DESC;
Empty set (0.258 sec)

Hello

Ok! thank you for your cooperation

I'll pass this on to the developers.

thx pavlo, one more Q regarding the cache:

if i create a cronjob with e.g. the top 1000 searches and run that daily while keeping the plugn setting"Cache Terms: Yes, clean cache automatically each 7d" - do you see any problems here?

i expect that the cronjob loads all querys which are then cached again for 7 days when cache is cleaned.

thx again!

another idea: cronjob the urls of top1000 result pages. that should generate the queries as well? (or does url nothinh?) thx again ;)

tested and no reverse engineering from URL possible.

maybe you can help with cronjob, we have the SQL-Querys (Select...). Maybe you can give some hints for the query of MDF the Cronjob should send, so that we also can get it in MDF-Cache...

Thx again! If effort we pay! ;)

 

one more question about MDF cache: is the cache is deleted after x days (as set in plugin settings) at once or as soon the cached query is hit again? thx

Hello

In this case, you'd better collect query arguments and use the function  in WP_QueryMDFCounter

ok clear thx