Почему этот SQL-запрос выполняет поиск ключей?

Операторы присваивания в Python не копируют объекты, они создают привязки между объектом и объектом.

, поэтому, dict2 = dict1, он вызывает другое связывание между dict2 и объектом, к которому dict1 относится.

, если вы хотите скопировать dict, вы можете использовать copy module. Модуль копирования имеет два интерфейса:

copy.copy(x)
Return a shallow copy of x.

copy.deepcopy(x)
Return a deep copy of x.

Разница между мелким и глубоким копированием применима только для составных объектов (объектов, которые содержат другие объекты, например списки или экземпляры классов):

мелкая копия создает новый составной объект, а затем (по мере возможности) вставляет ссылки в него в объекты, найденные в оригинале.

A глубокая копия создает новый составной объект, а затем рекурсивно вставляет в него копии объектов, найденных в оригинале.

Например, в python 2.7.9:

>>> import copy
>>> a = [1,2,3,4,['a', 'b']]
>>> b = a
>>> c = copy.copy(a)
>>> d = copy.deepcopy(a)
>>> a.append(5)
>>> a[4].append('c')

, а результат:

>>> a
[1, 2, 3, 4, ['a', 'b', 'c'], 5]
>>> b
[1, 2, 3, 4, ['a', 'b', 'c'], 5]
>>> c
[1, 2, 3, 4, ['a', 'b', 'c']]
>>> d
[1, 2, 3, 4, ['a', 'b']]
15
задан BC. 3 July 2010 в 00:24
поделиться

3 ответа

Потому что он выбирает * .

Он использует некластеризованный индекс для поиска строки (строк), но затем ему нужно пойти и получить данные для возврата.

Чтобы избежать поиска по закладкам , вам необходимо сделать некластеризованный индекс покрывающим индексом (в идеале, уменьшив количество столбцов в списке выбора, но возможно также путем добавления новых столбцов в сам индекс или как включенные столбцы )

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

17
ответ дан 1 December 2019 в 01:16
поделиться

См. Эти статьи и сообщения в блогах для получения дополнительной справочной информации о ключевых поисках / просмотрах закладок:

7
ответ дан 1 December 2019 в 01:16
поделиться

Поиск по ключу означает не «поиск ключа», а «поиск в строке на основе ключа».

13
ответ дан 1 December 2019 в 01:16
поделиться
Другие вопросы по тегам:

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