Sample Header Ad - 728x90

How can I improve this slow query in my wordpress site?

0 votes
1 answer
229 views
SELECT object_id, term_taxonomy_id FROM wp_term_relationships INNER JOIN wp_posts ON object_id = ID WHERE term_taxonomy_id IN (525627,516360,525519,535782,517555,525186,517572,549564,1,517754,541497,541472,525476,549563,517633,524859,702393,541604,543483,524646,525001,550518,541516,525244,549565,517376,535783,524642,25,533395,533537,525475,2,705306,524684,525065,939122,541603,525523,533491,541590,702713,550724,525243,533634,525122,541498,549586,546982,21,524643,541478,525435,535784,541471,516611,535781,541638,516142,533416,546984,524999,533453,524682,704994,516579,516189,524644,517378,525185,541508,517634,705305,524858,517632,541637,517699,525064,517573,772367,516609,517375,525474,507436,524918,517635,541929,22,54,53,705119,524685,524683,516577,536343,191228,524915,524917,516298,541573,546983,515904,541601,56,517377,524645,517707,515905,516297,515903,517708,533635,516296,516578,517750,517554,516016,525123,533538,541625,525187,705307,55,191226,19,24,516299,541466,524916,772366,555654,516612,541503,191227,550302,991853,920642,191229,535829,525582,525524,524919,524720,525841,517636,541504,525184,525520,541562,525433,541563,516610) AND post_type IN ('post') AND post_status = 'publish' + _pad_term_counts() Theme 259514 2.0440 SELECT wp_posts.ID FROM wp_posts LEFT JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) WHERE 1=1 AND wp_posts.ID NOT IN (391534) AND ( wp_term_relationships.term_taxonomy_id IN (2,516296,517375,517376,517377,517378,517554,517555,517572,517573,517632,517633,517634,517635,517636,517699,517707,517708,517750,517754,524858,524859,524915,524916,524917,524918,524919,524999,525001,525064,525065,525185,525186,525187,525519,525520,525523,525524,525582,525841,533395,533416,533453,535782,535783,535784,535829,536343,549563,549564,549565,549586,550302,550518,550724,555654,702393,702713,704994,705119,705305,705306,705307,772366,772367,920642,939122,991853) ) AND wp_posts.post_type = 'post' AND ((wp_posts.post_status = 'publish')) GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 0, 6 How can I improve this query ? I have many posts and they are taking like 2secs each. Thanks I also found this extra info that I think would help... > Why do you think modifying WordPress core table is a good idea? – > Krzysiek Dróżdż♦ Jun 12 '15 at 4:21 I really don't think it's a good > idea but a necessary one if running wordpress with the amount of posts > and combined with the limitations of mysql not having a descending > index function. Those file sorts caused by the order by operations are > a deal breaker for us in regards to site performance. – Ranknoodle Jun > 15 '15 at 2:34 But these operations are slow since you're doing it > wrong. In some projects we had similar issue, but came to very > different solution, that didn't modify core tables. We've created our > own table and used it as indexing/search table. So every slow query > was searching only based on this one table (no joins needed). (And we > had much more data, AFAIR) – Krzysiek Dróżdż♦ Jun 15 '15 at 5:06 Hi > KRZYSIEK can you explain a little more on indexing search tables that > you created? For example the slow query outline in the original > question, I would create a table to store the post > ID,reverse_post_id,post_type etc and only query against that? – > Ranknoodle Jun 15 '15 at 16:31 Send me an e-mail, I'll try to > elaborate on that method. – Krzysiek Dróżdż♦ Jun 15 '15 at 16:34 But no idea on the method he used.
Asked by Wed (13 rep)
Jan 26, 2020, 06:39 PM
Last activity: Jun 6, 2025, 09:02 PM