powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с запросом
10 сообщений из 35, страница 2 из 2
Помогите с запросом
    #38433614
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
agoda,

ну, дело хозяйское, но сервис сложнее перезапускать, чем приложение с -a при изменениях конфига, и прочих. Я бы даже сказал, что это граничит с "пользовательским представлением", когда разработчик не понимает, что такое ФБ и как оно работает.
Я извиняюсь за обобщение, но в большинстве случаев так и есть. Низкий уровень вхождения создает подобные проблемы...
...
Рейтинг: 0 / 0
Помогите с запросом
    #38433626
agoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,

А че сложного? У меня «Управление» всегда открыто. Вечно в диспетчере устройств то модемы, то программаторы, то прочие USB девайсы ищу. А в службах нажать квадратик и треугольник большого труда не составляет. Спасибо за помощь.
...
Рейтинг: 0 / 0
Помогите с запросом
    #38433627
agoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денисkdv,

Только вот если создать отдельный индекс, то он почему-то будет задействован.

Код: sql
1.
CREATE INDEX IDX_ID ON INC_STATE (ID);



Код: sql
1.
2.
3.
4.
5.
SELECT ADDR 
FROM INC_STATE
WHERE VAL = 0 AND ID IN (200, 201)
GROUP BY ADDR
HAVING COUNT(DISTINCT ID) = 2



PLAN (INC_STATE ORDER UNQ_ADDR_ID INDEX (IDX_ID, IDX_ID))Я правильно понял, что если создать индекс по ID то план такого запроса будет выглядеть привлекательней?
...
Рейтинг: 0 / 0
Помогите с запросом
    #38433636
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
agoda,

дело вкуса и привычки работы. не имею претензий.

agodaЯ правильно понял, что если создать индекс по ID то план такого запроса будет выглядеть привлекательней?
наоборот. есть еще другая специфика, рекомендую прочитать
http://ibaseforum.ru/viewtopic.php?f=4&t=4175

про ID in я уже сказал выше. Я бы написал
Код: sql
1.
2.
3.
4.
5.
SELECT ADDR 
FROM INC_STATE
WHERE VAL = 0 AND ID+0 IN (200, 201)
GROUP BY ADDR
HAVING COUNT(DISTINCT ID) = 2
...
Рейтинг: 0 / 0
Помогите с запросом
    #38433686
agoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,

А что дает «ID+0»?
...
Рейтинг: 0 / 0
Помогите с запросом
    #38433691
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
agoda,

курсы на эту тему - 15000 руб с человека . Ну или читать http://ibase.ru/devinfo/dataaccesspaths.htm

еще вариант - смотреть в план запроса, как он меняется. Думать. И читать ссылку выше, или все же идти на курсы.
...
Рейтинг: 0 / 0
Помогите с запросом
    #38433710
agoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvagoda,

курсы на эту тему - 15000 руб с человека . Ну или читать http://ibase.ru/devinfo/dataaccesspaths.htm Спасибо, пока почитаю.
kdvеще вариант - смотреть в план запроса, как он меняется. Ток чета план что с «ID+0», что с просто «ID»
Код: sql
1.
PLAN (INC_STATE ORDER UNQ_ADDR_ID)

Буду читать и думать… Спасибо.
...
Рейтинг: 0 / 0
Помогите с запросом
    #38433719
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
agodaТок чета план что с «ID+0», что с просто «ID»
я уже сказал, почему. 15000956
...
Рейтинг: 0 / 0
Помогите с запросом
    #38433861
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
agoda,

Понял почему план такой (я забыл о правилах частичного сканирования). На самом деле если заменить CONSTRAINT

Код: sql
1.
2.
3.
4.
5.
RECREATE TABLE INC_STATE (
ADDR SMALLINT NOT NULL, 
ID INTEGER NOT NULL, 
VAL INTEGER NOT NULL, 
CONSTRAINT UNQ_ADDR_ID UNIQUE (ID, ADDR));



Код: sql
1.
2.
3.
4.
5.
SELECT ADDR 
FROM INC_STATE
WHERE VAL = 0 AND ID IN (200, 201)
GROUP BY ADDR
HAVING COUNT(DISTINCT ID) = 2



PLAN SORT (INC_STATE INDEX (UNQ_ADDR_ID, UNQ_ADDR_ID))

а вот что будет дешевле это ещё вопрос. Можно попробовать по количеству фетчей оценить. Хотя на ваших данных, где время выполнения очень мало наверное и дальнейшая оптимизация смысла не имеет.
...
Рейтинг: 0 / 0
Помогите с запросом
    #38437101
agoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

Спасибо, ваши варианты в корне отличаются о того, до чего додумался я. Идею я понял, буду разбираться в методах доступа к данным.
...
Рейтинг: 0 / 0
10 сообщений из 35, страница 2 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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