|
|
|
Группировка против distinct
|
|||
|---|---|---|---|
|
#18+
Народ! ТАкой вопрос: для получения уникальных значений в запросе можно использовать 2 варианта: группировку по всем полям или предикат distinct Кто пробовал, что исполняется быстрее? Ведь jet все равно просматривает все записи и при том, и при другом варианте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2003, 09:48 |
|
||
|
Группировка против distinct
|
|||
|---|---|---|---|
|
#18+
есть мысль, что группировка по всем поля должна идти дольше, т.к. он в любом случае сравнивает все поля, а в случае distinct только пока они (строки одинаковые). т.е. если первое же поле у строк разное, то distinct пойдет дальше, а группировка будет просматривать остальные поля тоже. //написал какую-то чушь, но вроде похоже на правду. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2003, 09:54 |
|
||
|
Группировка против distinct
|
|||
|---|---|---|---|
|
#18+
MS SQL + Acc2000.adp Была одна такая задача - distinct работал в 1,5 раза дольше группировки. Глубоко не копал, планы запросов не смотрел (задача была разовая и времени на исследования не было). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2003, 10:37 |
|
||
|
Группировка против distinct
|
|||
|---|---|---|---|
|
#18+
Интересно, а уважаемые корифеи Владимир Саныч, Лох Позорный, Senin Viktor (порядок _не_ ранжирующий ;) что думают по этому вопросу?.. Спасибо всем отзывающимся! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2003, 11:30 |
|
||
|
Группировка против distinct
|
|||
|---|---|---|---|
|
#18+
Лох Позорный думает, что дистинкт это и есть груп бай по всем полям ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2003, 11:33 |
|
||
|
Группировка против distinct
|
|||
|---|---|---|---|
|
#18+
Я думаю, что Лох Позорный думает, что "дистинкт это и есть груп бай по всем полям" ибо, когда он посмотрел планы выполнения и статистику - оказалось один черт и там и там. Но смотрел он по одной таблице - при других условиях возможно что-то и измениться, но ему смотреть в падлу - он болеет (или уже выздровел?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2003, 11:47 |
|
||
|
Группировка против distinct
|
|||
|---|---|---|---|
|
#18+
Ага, тогда очень интресна, как дистинкт и груп дали разные результаты в ответе выше и за каким вообще тогда отдельный дистинкт придуман ;))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2003, 11:58 |
|
||
|
Группировка против distinct
|
|||
|---|---|---|---|
|
#18+
>и за каким вообще тогда отдельный дистинкт придуман ;))) Надо смотреть планы и сами запросы и не забывать о том что дистинкт "работает" со всей строкой сразу, а в групбай нужно указывать поля для группировки - от сюда возможны и беды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2003, 12:13 |
|
||
|
Группировка против distinct
|
|||
|---|---|---|---|
|
#18+
Во-первых когда я говорил, что distinct и есть группировка по всем полям - я не имел ввиду скорость выполнения. Во-вторых я ничего не думаю. Потому как ни хера не получилось выздороветь. Сегодня с утра я стал водкой , т.е. во мне было 40 градусов. В-третьих - да и хрен его знает... По моему должно быть одинаково. Если и есть какие-либо отклонения - черт его знает откуда они взялись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2003, 14:12 |
|
||
|
Группировка против distinct
|
|||
|---|---|---|---|
|
#18+
Большие сочувствия Лоху!.. Поправляйся!.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2003, 14:38 |
|
||
|
Группировка против distinct
|
|||
|---|---|---|---|
|
#18+
А чего мне сочувствия? У меня в очередной раз получилась двухдневная рабочая неделя . Щас сижу за компом завернутый в кокон из трех одеял, из кокона торчит один глаз, одна рука (мышку двигать) и сигарета (курить и кнопки нажимать). Теперь по теме. Не знаю... Не вижу я причин, по которым Distinct должен быть быстрее или медленнее чем Group By по всем полям. В большинстве случаев должно быть одинакого, если когда нибудь и не так - хз почему и в какую сторону. Это все равно что спросить, что быстрее - объединять таблицы с помощью Inner Join или с помощью предложения Where. На сложных запросах может аксес и запутается в плане выполнения, а на большинстве - одинаково будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2003, 15:00 |
|
||
|
Группировка против distinct
|
|||
|---|---|---|---|
|
#18+
НУ что ж спасибо всем! Хотя так и не понятно что же лучше юзать На примере: есть куча отчетов , у отчетов есть атрибут дата Так сроить список из ГОДОВ / месяцев этих дат по груп бай или по дистинкт? ;) А-ля "кто как хранит запросы" получается ;))))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2003, 15:05 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32268903&tid=1679378]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
82ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 415ms |

| 0 / 0 |
