powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Стоит ли использовать поля-флаги в таблицах?
5 сообщений из 5, страница 1 из 1
Стоит ли использовать поля-флаги в таблицах?
    #39206828
kormot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня Уважаемые!

Я в таблицах всегда где предполагается возможность удаления элементов реализую это таким образом, что в таблице просто делается флаг isActive TINYINT UNSIGNED DEFAULT 1 и при удалении элемента этот флаг обновляется в 0.

Ну и соответственно запросы оперирующие данными из этих таблиц изменяются к виду:
Код: sql
1.
2.
... 
JOIN table AS aa ON (aa.id=bb.fieldID AND aa.isActive=1)


Вопрос, насколько это плохой вариант в плане что в запросы добавляются операции поиска с неиндексированным полем. А индексировать поле в котором всего 2 варианта, вроде как глупо.

Ваше мнение относительно такой модели и как вы решаете в своих приложениях (именно на MySQL, а не на серьёзных MSSQL да Oracle) вопрос с недопустимостью удаления данных из таблиц физически, т.к. это по тем же внешним ключам удалит возможно много чего лишнего и будет потеряна история по каким-то операциям в приложении.
...
Рейтинг: 0 / 0
Стоит ли использовать поля-флаги в таблицах?
    #39206833
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kormotиндексировать поле в котором всего 2 варианта, вроде как глупо.С чего бы?
...
Рейтинг: 0 / 0
Стоит ли использовать поля-флаги в таблицах?
    #39207006
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kormotА индексировать поле в котором всего 2 варианта, вроде как глупо.Если значения распределены по записям примерно в равных количествах, то да, смысла мало.
Но если есть сильный перекос и обычно ищется именно редкое значение, то смысл уже есть.

Так же в ряде случаев имеет смысл создавать не отдельный индекс на это поле, а включать его в другие индексы.
...
Рейтинг: 0 / 0
Стоит ли использовать поля-флаги в таблицах?
    #39207057
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kormotВопрос, насколько это плохой вариант

Нормальный, только я бы применял другой тип данных по возможности - boolean, bit или что-то в этом духе.
Зависит от СУБД.


в плане что в запросы добавляются операции поиска с неиндексированным полем.

Это как раз ерунда. Отсев по этому признаку будет небольшой (набор данных несильно сократится), а надеятся, что это условие будет селективным ты всё равно никогда не будешь.




А индексировать поле в котором всего 2 варианта, вроде как глупо.



Не всегда. Как раз в таких случаях, когда редко удаляют и мало удалённых записей (isActive=0), выгодно делать индекс
для поиска неактивных записей , если такое нужн.
В случае равновероятого появления записей с 1 и 0 в таблице, естетственно, индекс бессмысленен.




Ваше мнение относительно такой модели

Нормальная, здравая.Никаких проблем не несёт, даже наоборот.

и как вы решаете в своих приложениях.

Ну , в том числе и так же, это на самом деле достаточно распространенный подход.
...
Рейтинг: 0 / 0
Стоит ли использовать поля-флаги в таблицах?
    #39207096
kormot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые, спасибо большое за развёрнутые ответы!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Стоит ли использовать поля-флаги в таблицах?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]