Mittwoch, 1. September 2010

ClanSphere Datenbank Import - *Hidden* Features

Jeder, der eine ClanSphere 2009 oder 2010 Webseite als Webmaster betreut wird die folgende Seite schon mehrfach aufgerufen und wohl vor allem beim Optimieren der SQL Tabellen, sowie dem Einspielen von SQL-Updates verwendet haben:
System -> Datenbank -> Import
 Diese Seite kann allerdings noch ein wenig mehr und dies werde ich im folgenden zeigen.


 1. Ausgabe von SELECT SQL Queries

Wer benötigt da noch phpMyAdmin für das schnelle prüfen auf Inhalte? SQL Queries die mit SELECT beginnen werden darunter als Tabelle entsprechend ausgegeben. Um nicht zu viele Daten zurückgeliefert zu bekommen empfiehlt es sich ein LIMIT anzugeben. Bei anderen Datenbanktypen als MySQL und PostgreSQL ist dies ebenfalls möglich, aber dies sind wohl die hauptsächlich verwendeten. Daher wird hier auf die Workarounds für andere Datenbanktypen verzichtet. Im folgenden ein Beispiel, dass die letzten 10 News mit ID und Überschrift ausgeben würde:
SELECT news_id, news_headline FROM {pre}_news ORDER BY news_id DESC LIMIT 10
Diese Abfragen sind mit allen in ClanSphere bekannten SQL Tabellen durchführbar.

2. Ausgabe von EXPLAIN SQL Queries

Auch an diesem Punkt wird phpMyAdmin relativ überflüssig. ClanSphere zeigt wie zuvor schon die SELECT Queries auch EXPLAIN Queries an. Falls jemand diese Funktionalität nicht kennt: Wenn irgendein SQL Query mit EXPLAIN voraus gesendet wird prüft der Datenbankserver, welche Bereiche betroffen sind und macht Vorschläge zur Optimierung der SQL Abfrage bzw. welche Schlüssel (Keys) man noch lohnenswert anlegen könnte. ClanSphere stellt diese Anfragen genauso wie SELECT Queries dar, mit dem Unterschied, dass hier je nach Datenbanktyp die zurückgelieferten Werte stark variieren. Beispiel:
EXPLAIN SELECT news_id, news_headline FROM {pre}_news ORDER BY news_id DESC LIMIT 10
Auch diese Abfragen sind mit allen in ClanSphere bekannten SQL Tabellen durchführbar.

3. Wofür steht hinter den SQL Queries eigentlich die Raute (#) mit Zahl dahinter?

Die Zahl gibt die Anzahl der in der Datenbank vom davor angezeigten SQL Query betroffenen Datensätze an bzw. bei einigen Ausnahmen auch 1 bei Erfolg und 0 bei einem Fehler. Bei Fehlern wird allerdings in jedem Fall der SQL Query selbst komplett in rot dargestellt und ist damit ein weitaus besserer Indikator.

4. Was muss evtl. bei den oben genannten Funktionalitäten beachtet werden?

ClanSphere führt nur das nötigste an SQL Abstraktion durch, daher sind durchgeführte Anfragen im Datenbank Import stehts auf den im Hintergrund gerade aktiven Datenbanktyp auszurichten. Im Zweifelsfall sollte der SQL Standard 2003 zu Rate gezogen werden, an den sich MySQL und Co. inzwischen weitläufig halten. Features aus neueren SQL Standards sind teilweise noch nicht überall verfügbar und viele Webspace-Anbieter erneuern die Datenbankserver-Version nur wenn es unbedingt notwendig ist alle paar Jahre wieder.

5. Weitere Informationen

Die Ausgaben im Bereich Datenbank Import sind natürlich auch vollständig über Theme-Dateien anpassbar. Werft bei Interesse am besten einen Blick in das Verzeichnis /themes/base/database.

Keine Kommentare:

Kommentar veröffentlichen