Wollte mal eure meinung zu dem altbekannten bit-status encoding wissen wenn's um MySQL geht.
Im grunde will ich moeglichst effizient viele boolean values speichern und die updaten koennen. Was ich dazu mach is ich erstell eine einzelne column die einfach nur ein unzigned integer is (binary ginge auch) und dann werden je nach bit position ein anderer status gespeichert.
Also das ganze kann man sich so vorstellen:
Was man bekommt ist einen integer der die verschiedenen werte darstellt. Ich hab' nicht vor die column zu indexieren und ich werd' auch nicht drueber selecten. Spricht irgendwas gegen das Format?
Im grunde will ich moeglichst effizient viele boolean values speichern und die updaten koennen. Was ich dazu mach is ich erstell eine einzelne column die einfach nur ein unzigned integer is (binary ginge auch) und dann werden je nach bit position ein anderer status gespeichert.
Also das ganze kann man sich so vorstellen:
Code:
set_status($status, $value, $position){
if($value)
$status = $status | (1 << $position);
else
$status = $status & !(1 << $position);
}
Code:
get_status($status, $position){
return $status >> $position & 1;
}
Was man bekommt ist einen integer der die verschiedenen werte darstellt. Ich hab' nicht vor die column zu indexieren und ich werd' auch nicht drueber selecten. Spricht irgendwas gegen das Format?