LINQ-to-SQL CompiledQuery. Скомпилировать () с обновлением, удалить, вставить?

Ниже приведено решение по столбцам с применением pandas:

import numpy as np

def strip_obj(col):
    if col.dtypes == object:
        return (col.astype(str)
                   .str.strip()
                   .replace({'nan': np.nan}))
    return col

df = df.apply(strip_obj, axis=0)

Это преобразует значения в столбцы типа объекта в строку. Следует проявлять осторожность при использовании столбцов смешанного типа. Например, если ваша колонка - это почтовые индексы с 20001 и «21110», вы получите «20001» и «21110».

7
задан mat 10 December 2008 в 07:47
поделиться

3 ответа

Существует большая разница. Запросы Select Linq-SQL могут быть большими деревьями сложных выражений. Они, которые могут взять когда-то, 'компилируя'. В этом объединении случая к некоторому T-SQL, который может быть выполнен против SQL Server. Таким образом, имеет смысл кэшировать результат операции так, чтобы это могло быть снова использовано.

Однако другой Удалять, Обновление и Вставка являются простыми операциями, которые не требуют, чтобы дерево выражений было преобразовано в T-SQL (сам LINQ - все о запросах). Его просто неудачный, что мы были обучены думать о коде SQL, который выполняет эти другие операции как 'запросы', мы не фактическая просьба ни о какой информации

, Эти операции только определяются DataContext не LINQ следовательно, код для выполнения этих функций уже компилируется.

8
ответ дан 6 December 2019 в 23:14
поделиться

Я думаю о трех, только вставка имела бы смысл мочь скомпилировать и снова использовать, потому что удаляют, тривиально просто (УДАЛИТЕ ИЗ Таблицы, ГДЕ Ключ...), и ОБНОВЛЯЮТ, только обновляет поля, которые изменились, и так варьируется на операцию обновления.

[) амин

3
ответ дан 6 December 2019 в 23:14
поделиться

L2S использует "sp_executeSQL" поэтому после выполнения его в первый раз, когда это будет в кэше плана выполнения хранимой процедуры. Последующие выполнения (того же запроса - не те же параметрические усилители) снова используют скомпилированный план от кэша. Таким образом, то, что Вы просите, автоволшебно обрабатывается SQL Server 'негласно'.

0
ответ дан 6 December 2019 в 23:14
поделиться
Другие вопросы по тегам:

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