Mailinglisten-Archive |
Georg Richter wrote: > Moin, > > folgendes Problem: > > ein Datensatz hat ca. 20-25 Felder, die nichts weiteres als ein Flag (0/1) > darstellen. > > Nu stehe ich grade vor der Frage, ob ich das in der DB wirklich als 25 Felder > abbilden soll, oder ein 32-bit feld nehmen soll, und die Flags da alle > reinpacke. > > Vom Handling ist dies sicher geschickter, vor allem da es einem lange Queries > erspart . > > Da die Datenbank recht gross ist und die Performance sehr wichtig ist, frage > ich mich, was schneller ist: > > eine WHERE CLAUSE mit bit Operatoren oder eine WHERE Clause mit lauter > Einzelfeldern?! > > Georg Wenn nur jeweils ein Bit abgefragt wird, dann indizierte Einzelfelder, ansonsten vermutlich bit-operationen, da in beiden Fällen ein Full Table Scan erfolgen wird (das nur-ein-index-je-tabelle-und-abfrage Problem) und eine Bit-Operationen auf einem Feld sicher schneller ist als n Vergleiche auf n Felder -- Hartmut Holzgraefe hartmut_(at)_six.de http://www.six.de +49-711-99091-77 Wir stellen für Sie aus auf der CeBIT 2002 und freuen uns in Halle 6 auf Ihren Besuch am Stand H 18 --- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive