![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 25.10.2010
Сообщений: 155
|
![]()
Всем привет. Появилась задача выборки уникальных значений по полю для интернет-магазина. Вот таблица:
Код:
Код:
ASUS HP Samsung Заранее спасибо |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,184
|
![]()
как то так
Код:
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Можно и без GROUP BY используя DISTINCT
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
а с точки зрения производительности (потребления ресурсов) будет разница в данном случае (лучше использовать group by или distinct или нет разницы)?! (другими словами, план запроса будет одинаков?) |
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 11.03.2011
Сообщений: 426
|
![]()
В большинстве диалектов GROUP BY без агрегатных функций недопустим, а агрегатные функции зачастую не самые лёгкие по производительности. Я бы прежде попробовал и сравнил
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
DISTINCT использует не явный GROUP BY. Индекс используется, если он существует вообще. В данном случае использовался бы индекс по proizvoditel. Явный GROUP BY то же бы его использовал. Но если туда засунуть еще WHERE по другому полю (полям), то для оптимальной работы в обоих случаях потребовался бы составной индекс с учетом полей во WHERE и в первую очередь по ним. Теоретически в данном случае производительность DISTINCT и GROUP BY должна быть примерно одинакова, если и будут отличия, то не большие
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 23.07.2013 в 22:44. |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
ReportCube, по моему, Вы ошибаетесь. По крайней мере, я с такими диалектами не сталкивался! Дадите пример?
Аватар, спасибо. Я примерно (очень примерно) это так себе и представлял. Спасибо, что подтвердили... |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 11.03.2011
Сообщений: 426
|
![]()
Признаю, не прав, group by допустим без агрегатных функций!
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 25.10.2010
Сообщений: 155
|
![]()
Спасибо! Я давно не был на форуме. Где тут кнопка "Мне нравится"
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Составление MySQL запроса с сложной сортировкой | пАк777 | SQL, базы данных | 2 | 27.01.2013 19:35 |
Составление сложного запроса. | Lazio | SQL, базы данных | 1 | 16.12.2011 18:48 |
Составление запроса | Айдар | Работа с сетью в Delphi | 0 | 21.10.2010 19:42 |
Составление SQL запроса для MySQL | Яр|/||< (^_^) | SQL, базы данных | 4 | 10.06.2010 13:28 |
составление последовательного запроса | Lord777 | SQL, базы данных | 2 | 23.05.2010 11:48 |