Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Оптимальный вариант для запроса / 8 сообщений из 8, страница 1 из 1
31.03.2018, 16:23
    #39623720
vladislav109
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимальный вариант для запроса
Ребят, нужна помощь, есть следующий запрос:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
create table users_1 (
id_1 int (10)
); 

create table users_2 (
id_2 int (10),
number int(30),
name varchar(10)
); 

insert into users_1 values (1);
insert into users_1 values (2);
insert into users_1 values (3);
insert into users_2 values(1, 1111111111, 'Vasya');
insert into users_2 values(2, 1111111111, 'Vasya');
insert into users_2 values(3, 1111111111, 'Vasya');
---------------------------------------------------
SELECT *
FROM users_1 AS u1
    INNER JOIN users_2 AS u2 ON u2.id_2 = u1.id_1
WHERE u1.id_1 IN (SELECT MIN(id_2) FROM users_2 GROUP BY number);



Как считаете, существует ли ещё более лаконичное решение данной задачи?
Быстродейтсвие играет важную роль, т.к. запрос будет выполняться на большой таблице.
...
Рейтинг: 0 / 0
31.03.2018, 16:36
    #39623723
Дедушка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимальный вариант для запроса
смысл в некой "лаконичности" если vladislav109Быстродейтсвие играет важную роль?
...
Рейтинг: 0 / 0
31.03.2018, 17:00
    #39623726
vladislav109
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимальный вариант для запроса
Дедушкасмысл в некой "лаконичности" если vladislav109Быстродейтсвие играет важную роль?
Хочу чтобы запрос и выглядел аккуратно и работал быстро.
...
Рейтинг: 0 / 0
31.03.2018, 20:31
    #39623774
MikkiMouse
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимальный вариант для запроса
vladislav109,

vladislav109Хочу чтобы запрос и выглядел аккуратно и работал быстро.
Раньше такие требования только к разработчикам предъявляли.
...
Рейтинг: 0 / 0
31.03.2018, 20:42
    #39623779
vladislav109
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимальный вариант для запроса
MikkiMousevladislav109,

vladislav109Хочу чтобы запрос и выглядел аккуратно и работал быстро.
Раньше такие требования только к разработчикам предъявляли.
Ребят, давайте без пустого флуда.
Я просто прошу помощи, о том, как можно улучшить или переписать данный запрос:
Код: sql
1.
2.
3.
4.
SELECT *
FROM users_1 AS u1
    INNER JOIN users_2 AS u2 ON u2.id_2 = u1.id_1
WHERE u1.id_1 IN (SELECT MIN(id_2) FROM users_2 GROUP BY number);
...
Рейтинг: 0 / 0
31.03.2018, 21:02
    #39623784
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимальный вариант для запроса
vladislav109как можно улучшитьИндексы создать, ё моё...
...
Рейтинг: 0 / 0
01.04.2018, 00:37
    #39623808
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимальный вариант для запроса
vladislav109,

Например, так:
Код: sql
1.
2.
3.
4.
SELECT *
FROM users_1 AS u1
  JOIN users_2 AS u2 ON u2.id_2 = u1.id_1
  JOIN (SELECT MIN(id_2) AS id_2 FROM users_2 GROUP BY number) t ON t.id_2=u1.id_1


Вариантов может быть и больше, но они зависят от логики и распределения данных.
...
Рейтинг: 0 / 0
01.04.2018, 10:06
    #39623831
vladislav109
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимальный вариант для запроса
miksoftvladislav109,

Например, так:
Код: sql
1.
2.
3.
4.
SELECT *
FROM users_1 AS u1
  JOIN users_2 AS u2 ON u2.id_2 = u1.id_1
  JOIN (SELECT MIN(id_2) AS id_2 FROM users_2 GROUP BY number) t ON t.id_2=u1.id_1


Вариантов может быть и больше, но они зависят от логики и распределения данных.
miksoft, спасибо!
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Оптимальный вариант для запроса / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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