Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Базы данных
  • » pyodbc. Как можно сделать выборку из таблиц, находящихся в разных каталогах? [RSS Feed]

#1 Март 31, 2014 13:04:56

Pluto
Зарегистрирован: 2012-05-29
Сообщения: 177
Репутация: +  1  -
Профиль   Отправить e-mail  

pyodbc. Как можно сделать выборку из таблиц, находящихся в разных каталогах?

А-а-а-а-а-а-а-а-а-а-а-а! Как odbc медленно работает, зараза такая!!!!!!!!!!!!!!
Я плакаю…

Офлайн

#2 Март 31, 2014 20:26:28

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

pyodbc. Как можно сделать выборку из таблиц, находящихся в разных каталогах?

Pluto
Я плакаю…
А вопрос где? Надо поконкретнее выражаться. Например: У меня в таблице 10 записей по 2 числа, читается 10 минут. Мне надо не более 10 секунд.



Отредактировано doza_and (Март 31, 2014 20:26:40)

Офлайн

#3 Март 31, 2014 20:29:06

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

pyodbc. Как можно сделать выборку из таблиц, находящихся в разных каталогах?

Pluto
и ищу их в курсоре
Мне кажется вам желательно справочники в память засосать и сделать из них словари.



Офлайн

#4 Апрель 1, 2014 05:17:15

Pluto
Зарегистрирован: 2012-05-29
Сообщения: 177
Репутация: +  1  -
Профиль   Отправить e-mail  

pyodbc. Как можно сделать выборку из таблиц, находящихся в разных каталогах?

doza_and
в память засосать и сделать из них словари
Да так, вобщем-то, и сделал.

Вот такой запрос выполняется очень медленно:
SELECT COUNT(*) FROM (SELECT FAM, IM, OT, DR FROM TABLE1)
В таблице 9000 записей.
У меня большое подозрение, что microsoft Jet делает эту выборку прямо с диска, не пытаясь всю таблицу сразу поместить в ОЗУ. Может быть ему нужно какие-то настройки в объекте-соединении сделать, чтобы он пошустрее работал?

s = ‘Driver={Microsoft dBase Driver (*.dbf)}; DefaultDir=’ + dbf_path
con = pyodbc.connect(s, autocommit = True)

А может вообще какой-нибудь другой драйвер использовать для доступа к dbf? А какой?

Офлайн

#5 Апрель 1, 2014 08:27:29

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

pyodbc. Как можно сделать выборку из таблиц, находящихся в разных каталогах?

Pluto
SELECT COUNT(*) FROM (SELECT FAM, IM, OT, DR FROM TABLE1)
Это же
SELECT COUNT(*) FROM TABLE1
или я чего-то не понимаю?



Офлайн

#6 Апрель 1, 2014 14:22:44

Pluto
Зарегистрирован: 2012-05-29
Сообщения: 177
Репутация: +  1  -
Профиль   Отправить e-mail  

pyodbc. Как можно сделать выборку из таблиц, находящихся в разных каталогах?

Я пропустил DISTINCT
SELECT COUNT(*) FROM (SELECT DISTINCT FAM, IM, OT, DR FROM TABLE 1)

Офлайн

#7 Апрель 2, 2014 06:14:52

Pluto
Зарегистрирован: 2012-05-29
Сообщения: 177
Репутация: +  1  -
Профиль   Отправить e-mail  

pyodbc. Как можно сделать выборку из таблиц, находящихся в разных каталогах?

Все претензии к ODBC и microsoft Jet снимаются.
Отступы во вложенных циклах надо делать правильно!
Моя программа просто-напросто делала один и тот же запрос множество раз.

А я уж и Visual FoxPro - драйвер скачал и установил.
Теперь думаю, что лучше использовать microsoft Jet или VFP?
VPF странные результаты запросов мне выдаёт для fetchone
пример:
(Decimal('10'), )
И как я должен из этого кортежа вытянуть десятку???

Офлайн

#8 Апрель 2, 2014 07:04:37

Pluto
Зарегистрирован: 2012-05-29
Сообщения: 177
Репутация: +  1  -
Профиль   Отправить e-mail  

pyodbc. Как можно сделать выборку из таблиц, находящихся в разных каталогах?

Вдобавок VFP крякозябры мне выдаёт вместо строк cp866.

Офлайн

  • Начало
  • » Базы данных
  • » pyodbc. Как можно сделать выборку из таблиц, находящихся в разных каталогах?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version