Для ответа на вопрос специально для MSSQL полнотекстовое индексирование будет НЕ справка в сценарии.
для улучшения того запроса, Вы могли выполнить одно из следующих действий:
, Если Вы, прежде всего, искали с префиксом (т.е. соответствовали от запуска имени), Вы могли изменить предикат на следующее и создать индекс по столбцу.
, где fname как '% префикса'
(1) является, вероятно, излишеством для этого, если производительность запроса не является большой проблемой.
Ага, это немного хитроумно. Класс на самом деле не вводит новую область видимости, он просто как бы немного похож на него; конструкции, подобные этой, выявляют разницу.
Идея состоит в том, что когда вы используете выражение генератора, это эквивалентно выполнению этого с помощью лямбда:
class Brie(object):
base= 2
powers= map(lambda i: base**i, xrange(5))
или явно как оператора функции:
class Brie(object):
base= 2
def __generatePowers():
for i in xrange(5):
yield base**i
powers= list(__generatePowers())
В этом случае ясно, что base
не входит в область действия __ generatePowers
; исключение возникает для обоих (если только вам не повезло, и у вас также есть base
global, и в этом случае вы получите ошибку).
Этого не происходит для понимания списков из-за некоторых внутренних деталей на как они оцениваются, однако это поведение исчезает в Python 3, который в обоих случаях не работает одинаково. Некоторое обсуждение здесь.
Обходной путь можно найти с помощью лямбда-выражения с той же техникой, на которую мы полагались в старые добрые времена до nested_scopes:
class Brie(object):
base= 2
powers= map(lambda i, base= base: base**i, xrange(5))
Из PEP 289 :
После изучения многих возможностей, возник консенсус, что обязательные вопросы было трудно понять, и что пользователи следует настоятельно рекомендовать использовать выражения генератора внутри функций которые потребляют их аргументы немедленно. Для более сложных приложения, полный генератор определения всегда лучше в условия очевидности в отношении объема, время жизни и привязка [6].
[6] (1, 2) Обсуждение исправлений и альтернативные исправления на Source Forge http://www.python.org/sf/872326
Это то, как выражения генератора имеют вид насколько я могу разобрать.