Você precisa entender o conceito de cursores Python.
Eles são modelados após os cursores do banco de dados SQL na PEP 249: Python Database API Specification v2.0 para processar os resultados retornados pelas consultas ao banco de dados.
A maioria das interfaces de banco de dados Python segue esse padrão: cx_Oracle (Oracle), Psycopg2 (PostgreSQL / PostGIS), MySQLdb (MySQL), sqlite3 (SQLite), etc.
Um cursor permite a recuperação de uma ou mais linhas do resultado, até que todas as linhas correspondentes tenham sido processadas e buscará todo o conjunto de resultados de uma só vez, o que pode causar problemas de velocidade de processamento (desempenho) ( existe algo mais rápido que um cursor no ArcGIS para calcular registros? ).
Os cursores dos bancos de dados geralmente retornam lista de tuplas ou lista de lista, enquanto os métodos de cursor no ArcGIS retornam um objeto de enumeração Python.
Para melhorar a solução do cursor, existem vários wrappers que fornecem interfaces simplificadas para bancos de dados SQL. Alguns deles podem ser chamados de mapeadores relacionais de objetos ou ORM (criação de objetos Pythonic a partir de linhas do banco de dados) e outros podem apenas ajudar a gerar SQL ou fornecer suporte simples ao mapeamento (consulte Programação de banco de dados de nível superior )
Para o ArcPy, as soluções são fornecidas por, por exemplo, Sean Gillies ( Get with it ) e outros.
As outras soluções geoespaciais (PyQGIS, grama, osgeo.ogr, Pyshp, Rpy, Fiona, PySAL, etc.) Não usam cursores, o que facilita as coisas ...
del myCursor
?