Nicht-Kerndatenbanktabellen sind ein Muss, wenn Ihre Daten komplexer als das WordPress-Postmodell sind, sie riesig werden und viele Metadetails enthalten, die durchsucht werden.
Das EAV-Format, das WordPress für sein Post-Meta verwendet, eignet sich nicht gut für die Suche nach mehreren Kriterien.
Wenn Sie Ihr Meta in viele Einträge unterteilen, haben Sie zahlreiche Einträge pro Beitrag in der Beitrags-Metatabelle, und das Durchsuchen von Beiträgen über Metas ist viel langsamer.
Wenn Sie alle in einem Array serialisierten Metas speichern und nur einen Eintrag im Post-Meta haben, müssen Sie diesmal nur Textsuchen in diesem Meta durchführen, und Sie können Vergleichsoperatoren nicht direkt in Ihrer SQL-Abfrage verwenden.
Kein großes Problem, wenn Ihr Plugin nicht Tausende von Einträgen und zugehörigen Meta enthält.
Aber ein großes Problem, wenn Ihr Plugin etwas Großes tun wird.
Ihre Situation, ein Dateiname als unabhängiger Eintrag und 3 Metadateneinträge, die an diesen Eintrag angehängt sind, scheinen nicht so groß zu sein. Sie können dafür die WordPress-Post-Tabelle und die Meta-Tabelle verwenden.
ABER, wenn Leute viel nach diesen 3 Metas suchen, INSBESONDERE in Verbindung, dann würde ich empfehlen, dass Sie separate Tabellen einrichten.
Mit diesem Format wäre nur eine Tabelle mit nur einem Eintrag, der auch alle Metas enthält, in Ordnung und würde blitzschnell abfragen.
Wenn Sie WordPress-Tabellen verwenden und auch das Abfrage-Caching verwenden, wird der Benutzer, der nach Ihren Daten sucht, im Laufe der Zeit zwischengespeichert und weniger belastet. Aber das wäre nicht so umsichtig wie separate Tabellen.