|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.07.2013, 16:27 | #1 |
Форумчанин
Регистрация: 25.10.2010
Сообщений: 155
|
Составление запроса MySql
Всем привет. Появилась задача выборки уникальных значений по полю для интернет-магазина. Вот таблица:
Код:
Код:
ASUS HP Samsung Заранее спасибо |
23.07.2013, 16:53 | #2 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,166
|
как то так
Код:
|
23.07.2013, 16:57 | #3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Можно и без GROUP BY используя DISTINCT
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
23.07.2013, 20:58 | #4 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
а с точки зрения производительности (потребления ресурсов) будет разница в данном случае (лучше использовать group by или distinct или нет разницы)?! (другими словами, план запроса будет одинаков?) |
|
23.07.2013, 22:14 | #5 |
Форумчанин
Регистрация: 11.03.2011
Сообщений: 426
|
В большинстве диалектов GROUP BY без агрегатных функций недопустим, а агрегатные функции зачастую не самые лёгкие по производительности. Я бы прежде попробовал и сравнил
|
23.07.2013, 22:40 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
DISTINCT использует не явный GROUP BY. Индекс используется, если он существует вообще. В данном случае использовался бы индекс по proizvoditel. Явный GROUP BY то же бы его использовал. Но если туда засунуть еще WHERE по другому полю (полям), то для оптимальной работы в обоих случаях потребовался бы составной индекс с учетом полей во WHERE и в первую очередь по ним. Теоретически в данном случае производительность DISTINCT и GROUP BY должна быть примерно одинакова, если и будут отличия, то не большие
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 23.07.2013 в 22:44. |
23.07.2013, 23:22 | #7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
ReportCube, по моему, Вы ошибаетесь. По крайней мере, я с такими диалектами не сталкивался! Дадите пример?
Аватар, спасибо. Я примерно (очень примерно) это так себе и представлял. Спасибо, что подтвердили... |
24.07.2013, 00:06 | #8 |
Форумчанин
Регистрация: 11.03.2011
Сообщений: 426
|
Признаю, не прав, group by допустим без агрегатных функций!
|
25.07.2013, 20:53 | #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 |