![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SQL не пойму в чем проблема [D7, Paradox]
_sulent © (2003-11-28 07:30:00)
Здравсвуйте мастера, вопрос у меня странный может показаться, а может вам и не покажется...
Вот такой у меня SQL-запросик, он впринцыпе рабочий, только я этого даже проверить не могу, потому что при открытии начинает раздувать файл подкачки (своп) до таких размеров, что потом просто вешается, хотя такого не должно быть. В чем может быть проблема?
SELECT mb.code, mb.name, mb.d_c, mb.or_c, sl.code, sl.name, dl.code, dl.name
FROM "mainbase.db" mb, "slujba.db", "doljnost.db" dl
WHERE (mb.d_c=dl.code)and(mb.or_c=sl.code)
ORDER BY sl.name
Sandman25 (2003-11-28 16:12:00) [1]
А записей сколько в таблицах? Индексы есть?
_sulent (2003-11-28 15:44:00) [2]
Да, проверял... но тока все равно виснет!
Val (2003-11-28 13:33:00) [3]
>_sulent © (28.11.03 13:11) [9]
вы его из експлорера проверьте-то
_sulent (2003-11-28 13:11:00) [4]
Да, в примере забыл написать. Ну ошибку он по крайней мере не выдает, просто зависает все. Вот в чем проблема я так и не могу понять!
mfender (2003-11-28 13:01:00) [5]
> Johnmen © (28.11.03 12:37) [6]
> Не совсем понятно, почему запросик рабочий, т.к. не указан
> используемый алиас для "slujba.db".
Мне это тоже сразу не понравилось, но человек утверждает, что работает. Может в примере забыл написать....
_sulent (2003-11-28 12:59:00) [6]
Он рабочий, там алиасик sl...
Johnmen (2003-11-28 12:37:00) [7]
Не совсем понятно, почему запросик рабочий, т.к. не указан используемый алиас для "slujba.db".
_sulent (2003-11-28 12:18:00) [8]
Ну а можно как-нибудь исходным кодом помочь, потому как я уже все попробовал, может меня просто уже глючит, и такой ерундистики не понимаю
Кщд (2003-11-28 10:59:00) [9]
может, декартово на джоины переписать?
Vemer (2003-11-28 10:38:00) [10]
Вариант: не может быть такого, что по каким-нибудь причинам количества строк таблиц перемножаются друг на друга -> в итоге очень большая таблица.
Вариант лечения: добавить DISTINCT в запрос или подцеплять таблицы по одной, и смотреть, когда глюки начинаются.
_sulent (2003-11-28 09:09:00) [11]
Ну это понятно, а как можно решить эту проблему?
Делаю то же самое в другой Query, с другими БД, и даже перекрывается с этими же, и все работает, а так вообще не хочет. Причем после выполнения тех запросов, он вообще не делает свопы! А тут...
mfender (2003-11-28 07:41:00) [12]
Скорее, тут не в запросе дело. Вероятно причина "раздувания" swap"а в приложении.