私はテーブルでさまざまなブール値フラグを使用しています。パフォーマンスの最適化について少し読んだところ、ブール値フラグの使用を避けるための広範なヒントに出くわしました。
効果的な代替手段は何ですか?いくつかの例をいただければ幸いです。
私はテーブルでさまざまなブール値フラグを使用しています。パフォーマンスの最適化について少し読んだところ、ブール値フラグの使用を避けるための広範なヒントに出くわしました。
効果的な代替手段は何ですか?いくつかの例をいただければ幸いです。
私はテーブルでさまざまなブール値フラグを使用しています。パフォーマンスの最適化について少し読んだところ、ブール値フラグの使用を避けるための広範なヒントに出くわしました。
ではMySQL、BOOLEANは単なるエイリアスですTINYINT(1)。
これは、ブール演算が実際には整数演算であることを意味します。
これは、とりわけ、次のようなクエリで次のことを意味します。
SELECT *
FROM mytable
WHERE boolean_flag = 0
のインデックスがboolean_flagあれば、これを使用できます。
SELECT *
FROM mytable
WHERE NOT boolean_flag
インデックスは使用されません。
ブールフィールドがたくさんある場合は、ビットを使用できます
お気に入り
4 つのフィールド「true、false、false、true」の代わりに、1 つの数値「9」(2 進数で 1001) を格納します。