gottlieb: Warning bei der Ausgabe von Datensätze

Beitrag lesen

Hi,

  1. Die Query hat 3 Selects. Sieht das ganze grob Perfomancelastig aus?

Das erzählt dir ein EXPLAIN vor dem Query.

Aha, ok.

Ansonsten meine Fragen zu deinem Code:

  1. Warum baust du Tippfehler in die Spaltenbezeichner ein? Das macht die Codepflege extrem aufwendig, weil man normalerweise einen menschenverständlichen Begriff eben nicht falsch tippt - damit aber logischerweise den Query zerstört.

Damit meine ich die Spalten
blogingid -> blogging_id
blogerid  -> blogger_id
mitglidsname -> mitgliedsname
priatvsphaere -> privatsphaere

Oh sorry, real habe ich da natürlich keine Fehler drin. Ich ändere nur schnell die Query, damit ich nicht die orig. Query mit den orig. Tabellen- und Spaltenname öffentlich poste. ICh bemühe mich das nächste Mal die Query leserlicher zu posten :-) Nochmals sorry.

  1. Deine Alias-Bezeichner für die einzelnen Tabellen mit A und B zu wählen halte ich ebenfalls für ungünstig. Nimm doch einfach einen sprechenderen Kurzbezeichner, zum Beispiel den ersten Buchstaben der Tabelle. Dann kommt es nämlich nicht zu der Kuriosität, dass die Tabelle "Blogeinträge" mit A und "Mitglieder" mit B abgekürzt wird (und in anderen Querys auch mal anders herum), sondern "Blogeinträge" ist immer "B", und "Mitglieder" ist immer "M" - in jedem Query.

Ist eine blöde Angewohnheit von mir. Ab heute gewöhne ich mir auch eine günstigere Kurzbezeichnung an :-)

  1. Dein Feld "privatsphaere" hat ganz offensichtlich den falschen Typ. Du benutzt manuelle Bitschiebereien und Maskierungen, um dort in einem Bitfeld diverse Berechtigungsschemata zu speichern. Aber für genau diese Anwendungen gibt es die wunderbare Erfindung von "SET" - die den unschätzbaren Vorteil hat, dass man zum einen nicht kompliziert mit Shiften und Bitmaskierung sehr fehleranfällig die korrekten Bits setzen muß, sondern im Klartext mit sprechenden Bezeichnern arbeiten kann, und mit sinnvollen, logischen Operationen.

SET? Ich sätze in der Query ja kein Bit, sondern lese ein bestimmtes Bit aus oder habe ich gerade etwas falsch verstanden?

Grüße