
Найдено 10 результатов
- 04 май 2008, 16:44
- Форум: Проектирование БД и запросов
- Тема: Производительность запроса SELECT
- Ответы: 12
- Просмотры: 9644
- 04 май 2008, 15:11
- Форум: Проектирование БД и запросов
- Тема: Производительность запроса SELECT
- Ответы: 12
- Просмотры: 9644
- 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- обозначение к...
- 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 мин на существующей БД). Источн...
- 03 май 2008, 12:10
- Форум: Проектирование БД и запросов
- Тема: Производительность запроса SELECT
- Ответы: 12
- Просмотры: 9644
Производительность запроса SELECT
Как можно ускорить выполнение запроса:
Индексы по полям T_ID в таблицах STORAGE, INDETAILS, OUTDETAILS существуют.
Код: Выделить всё
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)
- 19 апр 2008, 19:24
- Форум: Проектирование БД и запросов
- Тема: Вставка записей в таблицу из процедуры
- Ответы: 9
- Просмотры: 8331
- 18 апр 2008, 22:31
- Форум: Проектирование БД и запросов
- Тема: Вставка записей в таблицу из процедуры
- Ответы: 9
- Просмотры: 8331
Спасибо за коррекции самого запроса на вставку/ обновление. Но проблема наверное не в "непонимании"- с сутью использования транзакций я давно знаком. Указанная проблема (т.е. "пропадание" записей, которые должны вставляться в таблицу) проявлялась даже в тех случаях, когда записей в таблице STORAGE з...
- 17 апр 2008, 22:27
- Форум: Проектирование БД и запросов
- Тема: Вставка записей в таблицу из процедуры
- Ответы: 9
- Просмотры: 8331
Re: Вставка записей в таблицу из процедуры
Вероятно, в непонимании терминов "версионность" и "уровень изоляции транзакций". Перед началом указанной операции транзакция подтверждается, и в конце- также. Правда, подтверждается методом CommitRetaining. Параметры транзакции (Read Commited): read_committed rec_version nowait Буду благодарен если...
- 17 апр 2008, 21:56
- Форум: Проектирование БД и запросов
- Тема: Вставка записей в таблицу из процедуры
- Ответы: 9
- Просмотры: 8331
- 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...