У меня много доменных сущностей (хранящихся в mysql), которые подвергаются множеству различных операций. Каждая операция выполняется из другой программы. Мне нужно сохранить (flow) -state для этих объектов, которые я реализовал как длинное поле «flowstate», используемое в качестве набора битов.
чтобы запросить MySQL для сущностей, которые подверглись определенной операции, я делаю что-то вроде:
select * from entities where state >> 7 & 1 = 1
Показан бит 7 (соответствует операции 7). (<- упрощенно) </p>
Во всяком случае, я действительно не обращал внимания на влияние производительности этой установки в начале, и я думаю, что у меня небольшие проблемы, так как запросы, как указано выше, работают довольно медленно.
Что я хотел бы знать:
Помогает ли вообще индекс mysql для flowstate? В конце концов, это не единственное значение, которое Mysql может быстро найти, используя двоичную сортировку или что-то еще.
Если нет, могу ли я сделать что-нибудь еще, чтобы ускорить процесс? , Существуют ли специальные «индексы маски» для полей с вариантами использования, как указано выше?
ТИА,
Герт-Январь