ADO.NET + Paradox = Небыстро

Sebas personal blog.

Модератор: Sebas

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

ADO.NET + Paradox = Небыстро

Сообщение Sebas » 14.04.2006 (Пт) 10:53

SQL Запрос
SELECT X_DSTRCT.DISTRNO, X_DSTRCT.DISTRICT_TEXT AS Brick, COUNT(K11_DCTR.PERNO) AS TotalClients
FROM ((((X_DSTRCT INNER JOIN
K21_WARD ON X_DSTRCT.DISTRNO = K21_WARD.DISTRNO) INNER JOIN
K01_CONN ON K01_CONN.WARNO = K21_WARD.WARNO) INNER JOIN
K11_DCTR ON K11_DCTR.PERNO = K01_CONN.PERNO) INNER JOIN
K16_SPEC ON K16_SPEC.PERNO = K01_CONN.PERNO)
WHERE (K16_SPEC.MEDNO = 5) AND (K16_SPEC.RINFO <> 2) AND (K21_WARD.RINFO <> 2) AND (K01_CONN.RINFO <> 2) AND (K11_DCTR.RINFO <> 2) AND
(X_DSTRCT.RINFO <> 2)
GROUP BY X_DSTRCT.DISTRICT_TEXT, X_DSTRCT.DISTRNO
ORDER BY X_DSTRCT.DISTRICT_TEXT


Код: Выделить всё
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=""d:\DbFolder"";Persist Security Info=False;JET OLEDB:Database Password=cupcdvum;User ID=admin;Extended Properties=""Paradox 5.x"""


k21_ward ~ 20000
k11_dctr ~ 60000
k16_spec ~ 60000
k01_conn ~ 60000
x_dstrct ~ 200

При работе в VB2005 OleDb запрос проходит за 5 минут, суём его же в левую тулзу DB Commander - получаем 15сек!Я идиот! Убейте меня, кто-нибудь!Я идиот! Убейте меня, кто-нибудь!Я идиот! Убейте меня, кто-нибудь!Я идиот! Убейте меня, кто-нибудь!Я идиот! Убейте меня, кто-нибудь!!!

Плачу! Где найти нормальный провайдер для парадокса?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 17.09.2006 (Вс) 0:23

Думаю дело не столько в провайдере, сколько в четырех JOIN, которые не кешируются Paradox и часть работы надо брать на себя клиенту.
Вполне возможно, что "левая тулза" умеет хитро оптимизировать запросы на стороне клиента... Хотя я не уверен.
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 18.09.2006 (Пн) 7:37

Скажу более, он LEFT JOIN не понимает(
Update и Insert тоже, только Insert Into...

сижу и плачу(
БЫла мысля выдернуть чтонить из дельфей -2005-2006, но они тож парадокс не держат(
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru


Вернуться в Sebas

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

    TopList