powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Курс валюты. Медленно ;-( Хочется быстрее
25 сообщений из 54, страница 1 из 3
Курс валюты. Медленно ;-( Хочется быстрее
    #32494371
Andrey Sk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица с курсами руб/долл Rates, но курсы приведены не на каждую дату(это не курсы ЦБ), что выглядит примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
RATES
US_DAY   KURS_US
>02 /07  /02    32  ,45 
>03 /07  /02 
>04 /07  /02 
>06 /07  /02    32  ,50 
.....

Есть таблица контрактов, по которой идет запрос и для каждого контракта определяется курс на его дату с помощью вычисляемого поля:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Rate: (SELECT KURS_US FROM RATES 
        WHERE
            (RATES.US_DAY=
                        (SELECT Max(RATES.US_DAY) AS Expr1 
                          FROM RATES 
                             WHERE 
                                (RATES.US_DAY<=CONTRACT_DATE) 
                                AND 
                                (RATES.US_PRICE Is Not Null)
                         )
             ))

Работает очень медленно. Самому ничего более оптимального в голову не идет. Мож кто подскажет?
...
Рейтинг: 0 / 0
Курс валюты. Медленно ;-( Хочется быстрее
    #32494397
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторRATES.US_PRICE это что?
...
Рейтинг: 0 / 0
Курс валюты. Медленно ;-( Хочется быстрее
    #32494418
Andrey Sk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Victosha
авторэто что?
Блин, извиняйте - RATES.US_PRICE и KURS_US суть одно и тоже
...
Рейтинг: 0 / 0
Курс валюты. Медленно ;-( Хочется быстрее
    #32494429
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Индекс е?
...
Рейтинг: 0 / 0
Курс валюты. Медленно ;-( Хочется быстрее
    #32494461
Andrey Sk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор Темный
Индекс е?
Неа (не ругайте - чужые таблички)
...
Рейтинг: 0 / 0
Курс валюты. Медленно ;-( Хочется быстрее
    #32494465
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
...
Рейтинг: 0 / 0
Курс валюты. Медленно ;-( Хочется быстрее
    #32494481
Andrey Sk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не понял
...
Рейтинг: 0 / 0
Курс валюты. Медленно ;-( Хочется быстрее
    #32494486
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторAND (RATES.US_PRICE Is Not Null)

это просто лишнее

индекс по RATES.US_DAY DESC неплох был бы

и еще
авторпомощью вычисляемого поля: - это где - в форме?
...
Рейтинг: 0 / 0
Курс валюты. Медленно ;-( Хочется быстрее
    #32494493
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Если индексов нет, то добиваться какого-то ускорения бесполезно.
...
Рейтинг: 0 / 0
Курс валюты. Медленно ;-( Хочется быстрее
    #32494512
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавь в таблицу курсов счетчик
Добавь в таблицу контрактов поле курса и сделай по нему индекс
Инициализируй поле курса номером курса
используй в запросах простой INNER JOIN
...
Рейтинг: 0 / 0
Курс валюты. Медленно ;-( Хочется быстрее
    #32494540
Фотография 2ПОЙ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не пойму суть запроса.
Особенно вот эту часть:
Код: plaintext
1.
2.
3.
4.
5.
(SELECT Max(RATES.US_DAY) AS Expr1 
                          FROM RATES 
                             WHERE 
                                (RATES.US_DAY<=CONTRACT_DATE) 
                                AND 
                                (RATES.US_PRICE Is Not Null))

На хрена?
...
Рейтинг: 0 / 0
Курс валюты. Медленно ;-( Хочется быстрее
    #32494562
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 2ПОЙ:
ПОтому что:
автор курсы приведены не на каждую дату

Но зачем IsNull - непонятно. Комплексная защита от идиота-оператора?



Прогнано летаргическим путем, поэтому вполне нелегально, что подвижно :(
...
Рейтинг: 0 / 0
Курс валюты. Медленно ;-( Хочется быстрее
    #32494568
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Latuk:
авторДобавь в таблицу курсов счетчик
Добавь в таблицу контрактов поле курса и сделай по нему индекс
Инициализируй поле курса номером курса
используй в запросах простой INNER JOIN

Что это даст, акромя нормализации?



Прогнано летаргическим путем, поэтому вполне нелегально, что подвижно :(
...
Рейтинг: 0 / 0
Курс валюты. Медленно ;-( Хочется быстрее
    #32494572
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Latuk

поспорим, или ну его...?
-)
...
Рейтинг: 0 / 0
Курс валюты. Медленно ;-( Хочется быстрее
    #32494573
Andrey Sk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Victosha
Код: plaintext
AND (RATES.US_PRICE Is Not Null)

не лишнее - я ищу ближайшее снизу не пустое значение

автор- это где - в форме?
это в запросе, а не в форме

2Latuk

авторДобавь в таблицу курсов счетчик
Добавь в таблицу контрактов поле курса и сделай по нему индекс
Инициализируй поле курса номером курса
используй в запросах простой INNER JOIN
Говорю же не мои таблицы - только читать можно! И как я сделаю INNER JOIN, если в RATES не все даты есть (это видно из примера - обрати внимание, 05/07/02 пропущено)
...
Рейтинг: 0 / 0
Курс валюты. Медленно ;-( Хочется быстрее
    #32494581
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Копируй себе во временную таблицу и делай чего хочешь с ней.


Прогнано летаргическим путем, поэтому вполне нелегально, что подвижно :(
...
Рейтинг: 0 / 0
Курс валюты. Медленно ;-( Хочется быстрее
    #32494618
Andrey Sk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все поняли, что INNER JOIN не идет? В этом и загвоздка.
Хорошо, скопирую к себе, добавлю индекс по RATES.US_DAY и отрапортую здесь (боюсь, что уже в понедельник)
Всем спасибо
...
Рейтинг: 0 / 0
Курс валюты. Медленно ;-( Хочется быстрее
    #32494641
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор- я ищу ближайшее снизу не пустое значение

вам, батенька, похоже перекурить надо бы. Дать мысли круг замкнуть.

ближайшее снизу непустое значение чего? - Цены? а причем тут курс?
...
Рейтинг: 0 / 0
Курс валюты. Медленно ;-( Хочется быстрее
    #32494649
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Victosha:
Видимо, там след. данные:
12.04.04 - 31
13.04.04 - 31,5
14.04.04 - null
15.04.04 - 32

Либо доппроверка наличия цифирей
...
Рейтинг: 0 / 0
Курс валюты. Медленно ;-( Хочется быстрее
    #32494658
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Темный

думаю, там все гораздо интересней - это он, возможно натурально, накладывает условие на таблицу контрактов - ну и слава, только почему в подзапросе к таблице курсов?
...
Рейтинг: 0 / 0
Курс валюты. Медленно ;-( Хочется быстрее
    #32494664
Andrey Sk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Victosha
авторвам, батенька, похоже перекурить надо бы
уже
авторближайшее снизу непустое значение чего? - Цены? а причем тут курс?
Так,...смотри мою таблицу Rates, теперь контракт у меня, допустим, от 05/07/02. Если без Is NULL, то что будем иметь в качестве ближайшей снизу (т.е. меньшей) даты? - Правильно - 04/07/02. А мне нужно 02/07/02 и курс на эту дату - 32,45. Блин ну как еще разжевать?

Кстати, таблицу копирнул к себе, индекс добавил, чуть быстрее стало, но не радикально.
...
Рейтинг: 0 / 0
Курс валюты. Медленно ;-( Хочется быстрее
    #32494675
Andrey Sk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Темный и Victosha
А че вы все догадки строите????? Я ж вам таблицу конкретную показал и нарисовал 2 раза. там не только пустые значения есть, но и даты пропущены некоторые.
...
Рейтинг: 0 / 0
Курс валюты. Медленно ;-( Хочется быстрее
    #32494688
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну... Я просто туплю, а чего Victosha развлекается - не знаю
Вопрос: зачем нужно пустое значение курса на дату???



Прогнано летаргическим путем, поэтому вполне нелегально, что подвижно :(
...
Рейтинг: 0 / 0
Курс валюты. Медленно ;-( Хочется быстрее
    #32494716
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Говорю же не мои таблицы - только читать можно!
Сделай свою и сливай туда содержание не своей
Я так делаю когда мне надо расширять свойства внешнего справочника
и(или) обеспечить автономность базы.
>И как я сделаю INNER JOIN, если в RATES не все даты есть (это видно из
>примера - обрати внимание, 05/07/02 пропущено)

Вычисляеш любым своим скольугодно медленным алгоритмом
нужный курс.
Береш его ID и инициируеш им ссылку в договоре

Потом в запросах связываеш договор и курсы
CONTRACT INNER JOIN RATES ON RATES.ID=CONTRACT.RATES_ID
...
Рейтинг: 0 / 0
Курс валюты. Медленно ;-( Хочется быстрее
    #32494719
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНу... Я просто туплю, а чего Victosha развлекается - не знаю
я не развлекаюсь - я сама серьезность и благожелательность - покурить - это хороший совет - курить надо не бегом,в мыле, а как трубку или сигару курят. Организм должен расслабиться и построить для себя новую, лучшую действительность.

2 Andrey Sk
а) я не спрашиваю, зачем Вам в таблице курсов записи с пустыми значениями курса, я спрашиваю зачем вы их по ЦЕНАМ на Нулл сравниваете.

б) Вы же MAX УЖЕ написали, что вы от нулла (я уже не упоминаю, что по цене) хотите?

в) если есть охота - положите полный запрос, по огрызкам не всегда легко телепатить
...
Рейтинг: 0 / 0
25 сообщений из 54, страница 1 из 3
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Курс валюты. Медленно ;-( Хочется быстрее
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]