Найдено 10 результатов

Ingwar
04 май 2008, 16:44
Форум: Проектирование БД и запросов
Тема: Производительность запроса SELECT
Ответы: 12
Просмотры: 9644

Спасибо всем кто откликнулся (и особенно WildSery)- проблема решилась :)
Ingwar
04 май 2008, 15:11
Форум: Проектирование БД и запросов
Тема: Производительность запроса SELECT
Ответы: 12
Просмотры: 9644

WildSery писал(а):Влад верно сказал. Это я ещё кофе не попил.
Вот, поправил...
Да, спасибо, работает все супер. И приблизительно в 10 раз быстрее предложенного ранее мной варианта.

И еще: почему мой исходный запрос работает так ужасающе медленно? Где можно почитать об етом?
Ingwar
04 май 2008, 13:34
Форум: Проектирование БД и запросов
Тема: Производительность запроса SELECT
Ответы: 12
Просмотры: 9644

А вот и плохо вопрос решён. Правильно писать так: SELECT T.ID, T.NAME, US.T_ID FROM TOVARY T WHERE NOT EXISTS ( SELECT T_ID FROM STORAGE UNION ALL SELECT T_ID FROM INDETAILS UNION ALL SELECT T_ID FROM OUTDETAILS ) В приведенном тобой запросе используется US.T_ID, но в моем запросе US- обозначение к...
Ingwar
04 май 2008, 09:34
Форум: Проектирование БД и запросов
Тема: Производительность запроса SELECT
Ответы: 12
Просмотры: 9644

Вопрос решен так: SELECT T.ID, T.NAME, US.T_ID FROM TOVARY T LEFT OUTER JOIN (SELECT T_ID FROM STORAGE UNION SELECT T_ID FROM INDETAILS UNION SELECT T_ID FROM OUTDETAILS) US ON US.T_ID=T.ID WHERE US.T_ID IS NULL Производительность почти в 500 раз выше (120 мс вместо 1 мин на существующей БД). Источн...
Ingwar
03 май 2008, 12:10
Форум: Проектирование БД и запросов
Тема: Производительность запроса SELECT
Ответы: 12
Просмотры: 9644

Производительность запроса SELECT

Как можно ускорить выполнение запроса:

Код: Выделить всё

SELECT ID FROM TOVARY WHERE NOT ID IN
(SELECT T_ID FROM STORAGE UNION
SELECT T_ID FROM INDETAILS UNION
SELECT T_ID FROM OUTDETAILS)
Индексы по полям T_ID в таблицах STORAGE, INDETAILS, OUTDETAILS существуют.
Ingwar
19 апр 2008, 19:24
Форум: Проектирование БД и запросов
Тема: Вставка записей в таблицу из процедуры
Ответы: 9
Просмотры: 8331

Спасибо всем кто откликнулся...
Из всего сказаного я понял что дело в другом месте... По крайней мере уверился, что с процедурой все нормально
Ingwar
18 апр 2008, 22:31
Форум: Проектирование БД и запросов
Тема: Вставка записей в таблицу из процедуры
Ответы: 9
Просмотры: 8331

Спасибо за коррекции самого запроса на вставку/ обновление. Но проблема наверное не в "непонимании"- с сутью использования транзакций я давно знаком. Указанная проблема (т.е. "пропадание" записей, которые должны вставляться в таблицу) проявлялась даже в тех случаях, когда записей в таблице STORAGE з...
Ingwar
17 апр 2008, 22:27
Форум: Проектирование БД и запросов
Тема: Вставка записей в таблицу из процедуры
Ответы: 9
Просмотры: 8331

Re: Вставка записей в таблицу из процедуры

Вероятно, в непонимании терминов "версионность" и "уровень изоляции транзакций". Перед началом указанной операции транзакция подтверждается, и в конце- также. Правда, подтверждается методом CommitRetaining. Параметры транзакции (Read Commited): read_committed rec_version nowait Буду благодарен если...
Ingwar
17 апр 2008, 21:56
Форум: Проектирование БД и запросов
Тема: Вставка записей в таблицу из процедуры
Ответы: 9
Просмотры: 8331

Попробуй другой вариант
Спасибо, попробую :)
Ingwar
17 апр 2008, 18:35
Форум: Проектирование БД и запросов
Тема: Вставка записей в таблицу из процедуры
Ответы: 9
Просмотры: 8331

Вставка записей в таблицу из процедуры

Есть хранимая процедура с кодом: FOR SELECT T_ID, SERT, TERM, CNT... FROM INDETAILS WHERE I_ID=-:GVI_ INTO :T_ID_, :SERT_, :TERM_, :CNT_... DO BEGIN SELECT COUNT(*) FROM STORAGE WHERE T_ID=:T_ID_ AND PRICE_RDR=:PRICE_RDR_ INTO :C_; IF (C_=0) THEN INSERT INTO STORAGE (...) VALUES (...); ELSE UPDATE S...