|
|
|
Стоит ли использовать поля-флаги в таблицах?
|
|||
|---|---|---|---|
|
#18+
Доброго дня Уважаемые! Я в таблицах всегда где предполагается возможность удаления элементов реализую это таким образом, что в таблице просто делается флаг isActive TINYINT UNSIGNED DEFAULT 1 и при удалении элемента этот флаг обновляется в 0. Ну и соответственно запросы оперирующие данными из этих таблиц изменяются к виду: Код: sql 1. 2. Вопрос, насколько это плохой вариант в плане что в запросы добавляются операции поиска с неиндексированным полем. А индексировать поле в котором всего 2 варианта, вроде как глупо. Ваше мнение относительно такой модели и как вы решаете в своих приложениях (именно на MySQL, а не на серьёзных MSSQL да Oracle) вопрос с недопустимостью удаления данных из таблиц физически, т.к. это по тем же внешним ключам удалит возможно много чего лишнего и будет потеряна история по каким-то операциям в приложении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2016, 12:48 |
|
||
|
Стоит ли использовать поля-флаги в таблицах?
|
|||
|---|---|---|---|
|
#18+
kormotиндексировать поле в котором всего 2 варианта, вроде как глупо.С чего бы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2016, 13:19 |
|
||
|
Стоит ли использовать поля-флаги в таблицах?
|
|||
|---|---|---|---|
|
#18+
kormotА индексировать поле в котором всего 2 варианта, вроде как глупо.Если значения распределены по записям примерно в равных количествах, то да, смысла мало. Но если есть сильный перекос и обычно ищется именно редкое значение, то смысл уже есть. Так же в ряде случаев имеет смысл создавать не отдельный индекс на это поле, а включать его в другие индексы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2016, 22:12 |
|
||
|
Стоит ли использовать поля-флаги в таблицах?
|
|||
|---|---|---|---|
|
#18+
kormotВопрос, насколько это плохой вариант Нормальный, только я бы применял другой тип данных по возможности - boolean, bit или что-то в этом духе. Зависит от СУБД. в плане что в запросы добавляются операции поиска с неиндексированным полем. Это как раз ерунда. Отсев по этому признаку будет небольшой (набор данных несильно сократится), а надеятся, что это условие будет селективным ты всё равно никогда не будешь. А индексировать поле в котором всего 2 варианта, вроде как глупо. Не всегда. Как раз в таких случаях, когда редко удаляют и мало удалённых записей (isActive=0), выгодно делать индекс для поиска неактивных записей , если такое нужн. В случае равновероятого появления записей с 1 и 0 в таблице, естетственно, индекс бессмысленен. Ваше мнение относительно такой модели Нормальная, здравая.Никаких проблем не несёт, даже наоборот. и как вы решаете в своих приложениях. Ну , в том числе и так же, это на самом деле достаточно распространенный подход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2016, 01:30 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=106&tid=1831961]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 400ms |

| 0 / 0 |
