Da müsstest Du zunächst einmal definieren, was effizient denn nun für Dich in Deiner Umgebung bei Deinen Internetnutzungsgewohnheiten bedeuten möchte.
Eine maximale Anzahl an an Blocklisteinträgen wäre z.B. überhaupt nicht effizient, wenn Du ausschließlich auf discourse.pi-hole.net
unterwegs wärst.
Nahezu 100% Deiner Listeneinträge wären dann überflüssig
Im allgemeinen solltest Du bei der Erweiterung Deiner Blocklisten auf Qualität und Inhalt setzen, nicht auf blosse Masse.
Wie @jfb bereits erläutert hat, sind RegEx gerade nicht effizient:
Der Einsatz von RegEx erhöht direkt die Zeit, die Pi-hole für die Beurteilung eines unbekannten Hostnames benötigt - und zwar für jeden unbekannten Hostnamen. Ein Mustervergleich ist dabei fast immer aufwändiger als der simple Vergleich zweier Zeichenketten, so dass außerdem die CPU-Auslastung bei Verwendung von RegEx tendenziell zunimmt.
In der Praxis wirst Du allerdings bei nur ein paar einfachen RegEx-Ausdrücken in einem durchschnittlichen Heimnetz eine Verzögerung zwar messen, aber nicht bemerken können.
Auf dieselbe Art, wie Du die 900.000 Einträge -(Einträge, nicht Listen, oder?`)- in Deinen Pi-hole gebracht hast.
Dabei solltest Du sicherstellen, dass die Datei auch wirklich im HOSTS-Format vorliegt. Sämtliche Blocklisten müssen für Pi-hole iin diesem Format vorliegen, siehe auch How do I add additional block lists to Pi-hole?