phpbar.de logo

Mailinglisten-Archive

Was ist schneller?

Was ist schneller?

Hartmut Holzgraefe mysql-de_(at)_lists.bttr.org
Wed, 06 Feb 2002 13:19:44 +0100


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