Вызываемым является объект, который имеет __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
>>>
No.
Вы индексируете поля, по которым выполняется поиск и которые имеют высокую селективность / количество элементов. Мощность логического поля стирается практически в любой таблице. Во всяком случае, это замедлит вашу запись (на такую крошечную величину).
Может быть, вы сделаете его первым полем в кластеризованном индексе, если бы каждый запрос учитывал мягкие удаления?
Я думаю, это поможет, особенно при покрытии индексов.
Сколько / мало, конечно, зависит от ваших данных и запросов.
Вы можете иметь всевозможные теории об индексах, но окончательные ответы дает ядро базы данных в базе данных с реальными данными. И часто вы удивляетесь ответом (или, может быть, мои теории слишком плохи;)
Изучите план ваших запросов и определите, можно ли улучшить запросы или индексы. Изменить индексы и посмотреть, в чем разница, довольно просто
Я думаю, что было бы полезно, если бы вы использовали представление (где удалено = 0) и регулярно запрашиваете из этого представления.
Я думаю, что если ваше логическое поле таково, что вы будете ссылаться на них во многих случаях, имеет смысл иметь отдельную таблицу, например DeletedPages или SpecialPages, в которой будет много логических поля типа, например is_deleted
, is_hidden
, is_really_deleted
, requires_higher_user
и т. д., а затем для их получения потребуется объединение.
Обычно размер этой таблицы будет меньше, и вы получите некоторое преимущество, используя объединения, особенно в том, что касается читабельности кода и удобства обслуживания. И для этого типа запроса:
выберите все страницы, где is_deleted = 1
Было бы быстрее реализовать это следующим образом: