Иногда процессуальное программирование абсолютно неизбежно при обработке данных.Являются ли курсоры действительно «правильным» выбором?
В настоящее время я работаю над оптимизацией устаревшего кода. Он использует курсор, 63 пары операторов IF
/ELSE
и BEGIN
/END
и т. Д. Я надеялся перепроектировать курсор и сделать его процедурным процессом. Теперь я нахожусь в конце декодирования алгоритма, и я понимаю. , , ooops ... это имеет, чтобы быть процедурным, потому что каждый выбор, сделанный в записи, зависит от результата процесса во всех предыдущих записях.
Итак, теперь я разорван ... есть другие варианты для смешивания процедурного кода с обработкой SQL Server (CLR SP, UDF и т. Д.). Я большой сторонник использования правильного инструмента для работы, поэтому я склоняюсь к созданию .NET CLR SP для этого. Но было бы быстрее и «проще» просто немного упростить курсор, но все же держать курсором.
Что вы все думаете? Теперь, когда у нас есть .NET-модули, доступные из SQL Server, вам больше подходит использовать курсоры (которые в моем варианте были для начала или для работы).
Что вы рекомендуете для итерации процедурно, кроме курсора? И нет, это должно быть процедурным. Я много думал об этом и разорвал его на части, и нет возможности сделать это на основе набора. – richard
Приложение № –
[Я сомневаюсь, что это будет более эффективно, чем использование курсора с указанными правильными параметрами] (http://bradsruminations.blogspot.com/2010/05/truth-about-cursors-part-1. html) –