From https://www.cloudflare.com/en-au/learning/dns/dns-server-types/
The 13 DNS root nameservers are known to every recursive resolver, and they are the first stop in a recursive resolver’s quest for DNS records. A root server accepts a recursive resolver’s query which includes a domain name, and the root nameserver responds by directing the recursive resolver to a TLD nameserver, based on the extension of that domain (.com, .net, .org, etc.).
But why can't the recursive resolvers directly query the TLD servers? From my understanding, there's only approximately 1500 TLD servers, which could easily be distributed to all resolver servers.
Something like a root server would be needed to distribute all the TLD servers to resolvers. But they should only be polled once to initialise the TLD list. From my understanding, every DNS request will ask the root server e.g "where is the TLD server for .com?" That seems rather inefficient?