Индексация булевых полей

Вызываемым является объект, который имеет __call__ метод. Это означает, что можно фальсифицировать вызываемые функции или сделать аккуратные вещи как Частичное Функциональное Приложение , где Вы берете функцию и добавляете что-то, что улучшает его или заполняет некоторые параметры, возвращая что-то, что можно назвать в свою очередь (известным как Приправляющий карри в кругах функционального программирования).

Certain типографские ошибки будут иметь интерпретатор, пытающийся назвать что-то, что Вы не предназначали, такой как (например), строка. Это может произвести ошибки, где интерпретатор пытается выполнить невызываемое приложение. Вы видите этот случай в интерпретаторе Python путем выполнения чего-то как расшифровка стенограммы ниже.

[nigel@k9 ~]$ python
Python 2.5 (r25:51908, Nov  6 2007, 15:55:44) 
[GCC 4.1.2 20070925 (Red Hat 4.1.2-27)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 'aaa'()    # <== Here we attempt to call a string.
Traceback (most recent call last):
  File "", line 1, in 
TypeError: 'str' object is not callable
>>> 

70
задан nickf 4 December 2009 в 05:13
поделиться

4 ответа

No.

Вы индексируете поля, по которым выполняется поиск и которые имеют высокую селективность / количество элементов. Мощность логического поля стирается практически в любой таблице. Во всяком случае, это замедлит вашу запись (на такую ​​крошечную величину).

Может быть, вы сделаете его первым полем в кластеризованном индексе, если бы каждый запрос учитывал мягкие удаления?

56
ответ дан 24 November 2019 в 13:30
поделиться

Я думаю, это поможет, особенно при покрытии индексов.

Сколько / мало, конечно, зависит от ваших данных и запросов.

Вы можете иметь всевозможные теории об индексах, но окончательные ответы дает ядро ​​базы данных в базе данных с реальными данными. И часто вы удивляетесь ответом (или, может быть, мои теории слишком плохи;)

Изучите план ваших запросов и определите, можно ли улучшить запросы или индексы. Изменить индексы и посмотреть, в чем разница, довольно просто

6
ответ дан 24 November 2019 в 13:30
поделиться

Я думаю, что было бы полезно, если бы вы использовали представление (где удалено = 0) и регулярно запрашиваете из этого представления.

2
ответ дан 24 November 2019 в 13:30
поделиться

Я думаю, что если ваше логическое поле таково, что вы будете ссылаться на них во многих случаях, имеет смысл иметь отдельную таблицу, например DeletedPages или SpecialPages, в которой будет много логических поля типа, например is_deleted , is_hidden , is_really_deleted , requires_higher_user и т. д., а затем для их получения потребуется объединение.

Обычно размер этой таблицы будет меньше, и вы получите некоторое преимущество, используя объединения, особенно в том, что касается читабельности кода и удобства обслуживания. И для этого типа запроса:

выберите все страницы, где is_deleted = 1

Было бы быстрее реализовать это следующим образом:

2
ответ дан 24 November 2019 в 13:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: