Это видео недоступно.
Сожалеем об этом.
Уроки SQL / Базы данных. Практическая задача #1. Оптимизация запроса. MySql / Илья Хохлов
- Добавить в
- Мой плейлист
- Посмотреть позже
- Поделиться
Поделиться
HTML-код
Размер видео:
- Опубликовано: 17 авг 2024
Комментарии • 28
Следующие
Автовоспроизведение
Соединения таблиц в SQL-запросах во WHERE, без джоинов (SELECT без JOIN) Плюсы и минусы/ Илья ХохловPrime Soft
Просмотров 15 тыс.
Что такое TCP/IP: Объясняем на пальцахListen IT
Просмотров 996 тыс.
Базы данных SQL уроки для начинающих. SELECT, JOINS, GROUP BY, INSERT, UPDATE, WHEREUlbi TV
Просмотров 421 тыс.
*NEW* Fortnite How To LEVEL UP FAST in CHAPTER 5 SEASON 4! (Get To Level 200)LOOTSTATION
Просмотров 116 тыс.
Le Havre vs PSG | LIGUE 1 HIGHLIGHTS | 08/16/24 | beIN SPORTS USAbeIN SPORTS USA
Просмотров 162 тыс.
Post Malone - Losers (Lyric Video) ft. Jelly RollPostMaloneVEVO
Просмотров 987 тыс.
Gamer Products - Scott The WozScott The Woz
Просмотров 445 тыс.
Главный секрет SQL! Как ускорить запросы в 1000 раз???Андрей Иванов | Python
Просмотров 14 тыс.
MySQL 8.0: используем индексы для ускорения запросовУскорение Сайтов :: Метод Лаб
Просмотров 7 тыс.
Курс SQL Базы данных ORACLE. Илья Хохлов. Урок 1-1. Реляционные базы данныхPrime Soft
Просмотров 90 тыс.
Как ускорять SQL запросы? Explain и оптимизация запросов SQLУйти в АйТи
Просмотров 13 тыс.
ИНДЕКСЫ В БАЗАХ ДАННЫХ. СОБЕС В OZON.Ваня Ио про разработку
Просмотров 50 тыс.
Оптимизация запросов с помощью индексовПрограмысли Влог
Просмотров 10 тыс.
Александр Денисов. MS SQL Server: изучаем планы запросовИНФОСТАРТ
Просмотров 4,4 тыс.
Основные Типы Современных Баз Данных Которые Используются в ПрактикеPython Hub Studio
Просмотров 29 тыс.
ProxySQL: быстрый кэш запросов в MySQL 8.0 и не толькоУскорение Сайтов :: Метод Лаб
Просмотров 2,9 тыс.
That feeling when you're sleepy all day but can't go to sleep at night!🥱🤣 #funny #sleep #fyp #dubaiAbdu Rozik
Просмотров 154 тыс.
Вся Правда Про Хазяевов !ExileShow
Просмотров 2,4 млн
Gli occhiali da sole non mi hanno coperto! 😎Senza Limiti
Просмотров 10 млн
Surxondaryoga biz chempionlarimiz bilan yetib keldik!Alfiya Kampir
Просмотров 576 тыс.
VALENCIA CF 1 - 2 FC BARCELONA | RESUMEN LALIGA EA SPORTSLALIGA EA SPORTS
Просмотров 2,6 млн
Батя учит французский #батя #орешекВиталий Оpехов
Просмотров 140 тыс.
Валерий Ширяев о событиях в Курской области и их последствиях / Редакция. ИнтервьюРедакция
Просмотров 3 млн
7 Days Stranded In A CaveMrBeast
Просмотров 52 млн
Походу запилил видос пока ждал выгрузку данных))) а мои 15 минут жизни кто теперь вернет! Я же ждал ответ! )))
Отлично! Побольше задачек. Осилю курс обучения и сразу за задачки! Благодарю!
Мария, спасибо! Здорово, что Вы с нами!
Итак, есть склад, давайте представим у нас есть склад, большой склад, на этом складе есть контейнеры, есть контейнеры, контейнеров много и в каждом контейнере лежат коробки, в каждом контейнере много коробок... у нас есть на складе контейнеры, в контейнерах есть коробки
я так и не понял, есть ли у нас склад, контейнеры и коробки, автор, освети эту тему более подробно пожалуйста 🙏🏼
Здравствуйте, Михаил!
Спасибо за обратную связь. Стараюсь теперь меньше повторяться.
🤣
Друзья, есть ли предположения по оптимизации запроса?
За чем ID_CONTAINER_MOVE? можно при перемещении простотовлять ID_CONTAINER, А если нужно информация о старом контейнере то надо добавлять колтнку OLD_CONTAINER_ID, тогда при запросе у тебя будет 1 условие
Здравствуйте, отличные уроки. Я начинающий. У меня проблема с одной задачой, если можете помогите плз.
Не могу найти запрос для такой задачи:
Мне нужен запрос, который показывает количество покупок, совершенных клиентами. В нем должны отображаться только клиенты, совершившие более 1 покупки. Результат должен содержать следующие поля:
(Имя, Фамилия) , Количество покупок. У меня команда как-то суммирует общее количестко.
Талблицы.
Clients
Products
Orders
SELECT
Clients.FirstName AS "First Name",
Clients.LastName AS "Last Name",
count(*) AS "Number of Orders"
FROM Orders
JOIN Clients ON Clients.ClientID=Orders.ClientID
GROUP BY Clients.firstname, Clients.lastname;
@@sinosha нужно понимать, какие данные хранятся в таблице Orders (в каком виде и как это вообще выглядит). Если с продуктами и и клиентами все интуитивно понятно)
Ну и я бы лично для себя бы все писал в одном стиле и со смыслом.
SELECT
Clients.FirstName AS "First Name",
Clients.LastName AS "Last Name",
count(*) AS "Number of Orders"
FROM Clients
INNER JOIN Orders ON Clients.ClientID=Orders.ClientID
GROUP BY Clients.FirstName , Clients.LastName
HAVING count(*) > 1 -- вот этого железно не хватало
И как всё-таки оптимизируется этот запрос?
1. Заменить or на два запроса с union
2. Использовать индексы
3. Переписать запрос на group by idconteiner и having
4. Вся таблица conteiners пойдет left join-ном к предыдущей выборке group by
Поле "NOMER"? Серьезно? А че "id_deliver" тогда? А не "nomer_DoStAvCHiK"?
Было бы интересно узнать про доступ в базу данных из Delphi. Дело в том, что стандартные средства работы с базами данных неудобные и хотелось бы сделать свой графический интерфейс для ввода информации и запуска запросов. Само собой сама база данных будет сделана в штатном графическом интерфейсе, типа SSMS для SQL Server, но в нем неудобно делать рутинный ввод информации и запуск рабочих запросов и хотелось бы сделать свой простенький интерфейс, например в RAD Studio. Дело в том, что есть база и в неё надо по 10 раз в день вводить информацию о своем состоянии и желательно сделать что-то простое и быстрое.
Спасибо! Как раз перед собеседованием немного натаскаться.
Пересмотрел половину ваших видео уже)
И Вам спасибо! Любопытно потом было бы узнать результат! Удачи Вам на собеседовании! Присылайте интересные вопросы - вместе разберём! :)
@@PrimeSoft Хорошо, на следующей неделе напишу)
@@Art-ub1sg ну что, взяли?)
@@FAU5390 походу нет)
Добрый день ,подскажите ,пожалуйста,что такое cte и как правильно его писать? Пока не совсем могу это понять. Cte это глубина запроса? Где бы почитать более подробно? Заранее благодарю
Сделать JOIN таблиц CONTAINERS и BOXES, а условие указать в предложении HAVING?
Здравствуйте! Использование having - неплохая идея! Посмотрите, еще, пожалуйста, это решение: ruclips.net/video/XdlYeMZBesA/видео.html
select * from containers c
join
(select ID_CONTAINER, ID_CONTAINER_MOVE ,sum(length*height*width/10000) as volume
FROM boxes b
WHERE b.ID_STOCK =1
AND b.STATUS =0
AND b.NN_REZERV =0
GROUP BY ID_CONTAINER, ID_CONTAINER_MOVE HAVING volume>50
order by volume) b
on (c.id=b.ID_CONTAINER and b.ID_CONTAINER_MOVE=0) or c.ID =b.ID_CONTAINER_MOVE
WHERE c.STATUS = 0
У меня 24 контейнера получается. Где ошибка?
Пустые контейнеры понаотправляете. :)
Там нужно на 1000000 делить.
Ярослав, спасибо, что приняли участие в решении задачи! :)
много флуда, надо было отедлить в отдельное видео часть про конфигурацию это не всем интересно
Зачем по 5 раз повторять ненужные фразы? Типо как про кофе?
SELECT *
FROM containers c
join ( select b.ID_CONTAINER, b.ID_CONTAINER_MOVE, sum(width * height * length/10000) > 50 check_value
from boxes b
where b.ID_STOCK = 1
and b.STATUS = 0
and b.NN_REZERV = 0
and b.ID_CONTAINER_MOVE = 0
GROUP BY b.ID_CONTAINER, b.ID_CONTAINER_MOVE) as t
on ((t.ID_CONTAINER = c.ID and t.ID_CONTAINER_MOVE = 0) OR (t.ID_CONTAINER_MOVE = c.ID))
WHERE c.STATUS = 0 and check_value is true
так правильно?