Что неопровержимые доводы состоят в том, чтобы выбрать SQL Server 2008 за 2005?

То, что происходит, - то, что переменная, я получен, и функции, возвращает значение, это связывается с тем, в то время, когда это называют. На функциональных языках никогда не возникает этот вид ситуации, поскольку я не был бы восстановлением. Однако с Python, и также как Вы видели с шепелявостью, это больше не верно.

различие с Вашим примером схемы относится к семантике, действительно циклично выполняются. Схема эффективно создает новое я переменная каждый раз через цикл, вместо того, чтобы снова использовать существующее я связывающий как с другими языками. Если Вы будете использовать различную переменную, созданную внешний к циклу, и видоизменять его, Вы будете видеть то же поведение в схеме. Попытайтесь заменить свой цикл:

(let ((ii 1)) (
  (do ((i 1 (+ 1 i)))
      ((>= i 4))
    (set! flist 
      (cons (lambda (x) (* ii x)) flist))
    (set! ii i))
))

Смотрят здесь для некоторого дальнейшего обсуждения этого.

[Редактирование] Возможно лучший способ описать его состоит в том, чтобы думать, действительно циклично выполняются как макрос, который выполняет следующие шаги:

  1. Определяют лямбду, берущую единственный параметр (i), с телом, определенным телом цикла,
  2. непосредственный вызов той лямбды с соответствующими значениями меня как ее параметр.

т.е. эквивалент ниже Python:

flist = []

def loop_body(i):      # extract body of the for loop to function
    def func(x): return x*i
    flist.append(func)

map(loop_body, xrange(3))  # for i in xrange(3): body

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

6
задан Jon 14 August 2009 в 02:13
поделиться

5 ответов

Одна веская причина - сжатие резервных копий в SQL 2008. SQL 2008 имеет 3 варианта резервного копирования:

В SQL 2008 есть 3 варианта при резервном копировании баз данных, это:

  • Без сжатия (как SQL 2005)
  • Настройка сервера (при резервном копировании сервера настройка сжатия включена / выключена - используйте этот параметр)
  • Сжатие (сжатие файла резервной копии во время резервного копирования)

Резервное копирование SQL 2008 со сжатием обычно выполняется быстрее, чем резервное копирование SQL 2005 без сжатия (меньше ввода-вывода файла со сжатым файлом)

Редактировать: Мы уже некоторое время используем SQL 2008 и проблем не было. Фактически, работа с новыми функциями в SQL Management Studio (такими как intellisense) упростила некоторые задачи.

4
ответ дан 8 December 2019 в 13:48
поделиться

Что касается новых функций, я должен указать новые пространственные типы данных , геометрия и география, которые в основном позволяют добавлять фактические точки долготы / широты и даже более холодные, привязывают эти точки к геометрии.

т.е. представьте карту с почтовыми индексами, география которых представляет центр почтового индекса, а геометрия - крышки с почтовым индексом. Затем вы можете использовать встроенную новую функцию sql server, чтобы определить, например, есть ли в нем клиент.

Edit PS вот ссылка на серию статей, описывающих преимущества / новые возможности:

Что Новое в SQL Server 2008, часть 3

4
ответ дан 8 December 2019 в 13:48
поделиться

Я бы обновился до 2008, потому что:

  • Пока вы не думаете об этом сейчас, 2005 год станет "концом жизни" раньше, и еще одно обновление может быть выполнено принудительно, прежде чем вы будете готовы
  • Все, что умеет 2005 год, может делать 2008 год. Но обратное неверно. Худшее, что может случиться, - это выполнить обновление до 2005 года только для того, чтобы обнаружить, что вам нужно что-то в версии 2008 и вам придется обновиться снова.
  • В 2008 году было улучшено или добавлено много мелких вещей.

Я также спросил бы, почему вы так делаете. беспокоитесь о поездке в 2008 год? Если вы выполняете обновление сегодня, зачем переходить на продукт, которому 4 года, а не на последний?

4
ответ дан 8 December 2019 в 13:48
поделиться

Мы используем его около 3 месяцев, и он кажется довольно стабильным. Мы также обновились с 2000 года, и это было довольно безболезненно. Одна вещь, которую я заметил, - это новый оператор MERGE, который является хорошим способом выполнения апсертов.

3
ответ дан 8 December 2019 в 13:48
поделиться

Я ткнул в 2008 год немного, но пока не использовал его "по-настоящему". Могу предложить только некоторые основные моменты.

Он «готов к использованию». SQL Server был полностью жизнеспособным продуктом, по крайней мере, с версии 7.0. Если бы он был глючным, дрянным или вообще бесполезным, его конкуренты (все, кто не является Microsoft) к настоящему времени ясно дали бы это всем.

Это новая версия, она будет поддерживаться MS дольше.

Много новых и модных наворотов. Однако это всего лишь навороты, они на самом деле не так много добавляют к "основной" функциональности базы данных.

Есть некоторые серьезные дополнения, в частности, различные новые типы данных даты и времени. (И если каждый получит что-то вроде Oracle ' s grid computing, тогда я буду очень впечатлен.)

В общем, я считаю, что это «вы покупаете лицензию 2008 года, вы можете использовать 2005 или 2008, на ваш выбор». Поэтому лучше использовать последнюю версию.

2
ответ дан 8 December 2019 в 13:48
поделиться
Другие вопросы по тегам:

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