Cx_oracle массивы с питоном - PullRequest
       10

Cx_oracle массивы с питоном

0 голосов
/ 28 декабря 2018

Я работаю с базой данных oracle, используя python.

Я работаю с массивами типа oracle (oracle 11.2), когда я запрашиваю их в python с помощью cx_oracle, мне нужно использовать метод aslistчтобы сделать их полезными.К сожалению, этот процесс длиннее, чем требуется моему проекту (3,5 секунды для 50 000 строк)

Я пытался преобразовать его в запросе, а не в Python, используя table () и listagg, но это привело к более медленному запросу иЯ ничего не заработал.

Я также пытался векторизовать функцию преобразования для Numpy, которая все еще не добавляла производительности.

Я думал об использовании Cython, но я не делаюЕсть идеи, как использовать его при импорте другой библиотеки, также Jit из Numba только замедлил меня

Есть идеи?

Data = cursor.fetchall()
modi_data = [row.aslist for row in Data]

Numpy версия

Def convert(x):
    Return x.aslist

Data = np.array(list(cursor.fetchall()))
Vector = np.vectorize(convert)
Modi = vector(Data)
...