Escolhendo um tipo de cursor
A escolha de um tipo de cursor depende de diversas variáveis, que incluem:
O tamanho do conjunto de resultados.
A porcentagem dos dados que provavelmente serão necessários.
O desempenho do cursor aberto.
A necessidade de operações de cursor, como rolagem ou atualizações posicionadas.
O nível de visibilidade para modificações de dados feitas por outros usuários.
Regras para escolher um tipo de cursor
Algumas regras para escolher um tipo de cursor são:
Os cursores de somente avanço e tabela base abrem mais rapidamente que os cursores estáticos ou controlados por conjuntos de chaves. As tabelas de trabalho temporárias internas devem ser criadas quando os cursores estáticos e controlados por conjuntos de chaves são abertos, mas elas não são necessárias para cursores de somente avanço ou tabela base.
Os cursores estáticos e controlados por conjuntos de chaves aumentam o uso do banco de dados temporário. Os cursores de servidor estáticos criam todo o cursor no banco de dados temporário. Os cursores controlados por conjuntos de chaves criam o conjunto de chaves no banco de dados temporário.
Se a tabela base for recuperada no estado em que estiver, sem nenhuma projeção ou seleção, então um cursor de tabela base será recomendado porque ele possui a sobrecarga mínima.
Os cursores estáticos consomem a maioria dos recursos, pois eles duplicam os dados.