Hey,
Dann solltest du das Ergebnis zwischenspeichern:
Wenn für die gewünschte Berechtigung kein Eintrag im Array der Berechtigungen enthalten ist, frag sie aus dem DBMS ab und trag das Ergebnis in das Element ein. Gib den Elementinhalt zurück, sollte ja nun true oder false sein. Weitere Fragen überspringen die DBMS-Abfrage. Du solltest das gleich mit allen Berechtigungen am Stück machen, weil es unter anderem solche DBMS-Abfragen sind, die signifikant Zeit verbrauchen.
Das klingt mal vernünftig! :)
Ich würde keine Bits (in einem Byte, Integer, sonstwas) nehmen sondern boolesche Werte. Speicher ist heute nicht mehr so knapp. Das obige Prinzip kannst du für alle Arten von Daten nehmen.
Obwohl nur eine Spalte in einer MySQL Tabelle mit der jeweiligen Berechtigung wohl einfacher abzuspeichern ist, als mehrere Spalten bzw. mehrere Datenzeilen.
Danke für die aufschlussreiche Antwort!