powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / select max(id)
11 сообщений из 11, страница 1 из 1
select max(id)
    #35669872
lf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть большая таблица с проиндексированным полем field, запрос из которой
Код: plaintext
select max(id) from table group by field
выполняется довольно быстро.

Но если попытаться запросить
Код: plaintext
select field,max(id) from table group by field
то запрос "вешается намертво".

Возможны ли рабочие варианты для подобного запроса?
...
Рейтинг: 0 / 0
select max(id)
    #35670711
=Dimon=
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lfЕсть большая таблица с проиндексированным полем field, запрос из которой
Код: plaintext
select max(id) from table group by field
выполняется довольно быстро.

Но если попытаться запросить
Код: plaintext
select field,max(id) from table group by field
то запрос "вешается намертво".

Возможны ли рабочие варианты для подобного запроса?
А что за структура таблицы? Сколько записей?
...
Рейтинг: 0 / 0
select max(id)
    #35670712
=Dimon=
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lf,

попробовал на классе с 9 полями и 1.5 млн строк.
С простым индексом 1 Ваш запрос выполнялся - 40 сек, когда сменил на битмап - 21 сек.
Второй ваш запрос выполнился - за 24 сек.
...
Рейтинг: 0 / 0
select max(id)
    #35670760
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже там field не "простой"...
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
select max(id)
    #35671021
lf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полмиллиона записей, поле field обычное (%String, индексируемое). Всего полей в таблице - 16 (т.е. field1, field2 и т.д.).
Запрос умирает.
...
Рейтинг: 0 / 0
select max(id)
    #35671088
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lfполе field обычное (%String, индексируемое)
А сколько "разных значений" у этого поля? Т.е. сколько бы получилось строк в итоге запроса

Код: plaintext
select field,max(id) from table group by field

Ведь там для каждой строчки будет вычисляться max(id)...
...
Рейтинг: 0 / 0
select max(id)
    #35671091
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А такой запрос

Код: plaintext
select field from table group by field

сколько будет выполняться?
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
select max(id)
    #35671191
lf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для каждого field существует два-три id, т.е. строк в результате примерно 1/3 от общего количества.
"Простой" запрос выполняется несколько секунд.
...
Рейтинг: 0 / 0
select max(id)
    #35671341
=Dimon=
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lfПолмиллиона записей, поле field обычное (%String, индексируемое). Всего полей в таблице - 16 (т.е. field1, field2 и т.д.).
Запрос умирает.
А битмап индекс построили?
...
Рейтинг: 0 / 0
select max(id)
    #35671359
=Dimon=
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lfДля каждого field существует два-три id, т.е. строк в результате примерно 1/3 от общего количества.
"Простой" запрос выполняется несколько секунд.
Ничего себе несколько секунд. В моем случае 21 секунда. :(
А если попробовать одинаковые значения выкинуть в отдельную таблицу, и указывать в поле field ссылку на их ID. По идее, должно гораздо быстрее выполняться.
...
Рейтинг: 0 / 0
select max(id)
    #35673125
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
=Dimon=Ничего себе несколько секунд. В моем случае 21 секунда. :(
Но ведь несколько!
=Dimon=одинаковые значения выкинуть в отдельную таблицу, и указывать в поле field ссылку на их ID
Праильное решение! (с) из выступления Г.Хазанова

Там использовать связь один ко многим.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / select max(id)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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