That query is simply comparing the customers table with the orders table and showing any customers who don't have corresponding orders. It's not all that complex, and shouldn't put much strain on the server. If the problem only "suddenly started" then it's likely caused by one of:
a) hosting company mucking with database operation
b) you've imported new customer records from some external source but the data isn't complete or isn't normalized across appropriate tables
c) one or both of the tables has some damage and needs repair
d) someone's been mucking in the raw database data and broken something
e) or, hopefully not but ... maybe your site's been hacked?

What happens if you attempt to run that query manually via phpMyAdmin?

What happens if you add the word "EXPLAIN" before the query and run it again in phpMyAdmin? Post the results.

What are the results of a file-by-file comparison of your server files vs your known good backups? Anything suspicious which might suggest someone unauthorized has been visiting?