Типы баз данных
Мир БД разнообразен. Не все ограничено Oracle. Есть и узкоспециализированные решения. На днях попалась такая диаграммка, решил поделиться.
1. Blockchain Database - Обеспечивает целостность и безопасность данных. Поддерживает децентрализованные приложения и идеально подходит для транзакционных данных. Примеры: BigchainDB, Chainbase.
2. SQL Database (Relational) - Использует структурированное хранение и доступ к данным. Поддерживает транзакции и реляционную модель данных. Примеры: MySQL, Microsoft SQL Server, Oracle.
3. Columnar Database - Оптимизирована для чтения и записи данных в столбцы. Эффективна для аналитических и OLAP-систем. Примеры: Amazon Redshift, Apache Cassandra, Oracle In-Memory Column Store.
4. NewSQL Database - Сочетает надежность SQL с масштабируемостью NoSQL. Поддерживает ACID-транзакции в больших масштабах и обеспечивает аналитику в реальном времени. Примеры: Google Spanner, CockroachDB.
5. In-Memory Database - Хранит данные в оперативной памяти для быстрого доступа, подходит для приложений с высокими требованиями к скорости и обеспечивает различные варианты постоянства хранения. Примеры: SAP HANA, MemSQL, Oracle Database In-Memory.
6. Spatial Database - Хранит и обрабатывает пространственные данные, такие как географические объекты. Поддерживает индексирование и запросы по местоположению. Примеры: PostGIS, Oracle Spatial and Graph.
7. Vector Database - Оптимизирована для хранения векторных данных, поддерживает модели искусственного интеллекта и машинного обучения, используется для поиска по признакам. Примеры: Milvus, Pinecone.
8. Time-Series Database - Предназначена для хранения и анализа временных рядов. Идеальна для мониторинга и приложений IoT. Примеры: InfluxDB, TimescaleDB.
9. Key-Value Database - Хранит данные в виде пар "ключ-значение". Подходит для кэширования и хранения сессий. Примеры: Redis, Amazon DynamoDB.
10. Document Database - Хранит данные в виде документов с гибкой структурой, поддерживает форматы JSON и XML. Примеры: MongoDB, Couchbase, Oracle Database (с поддержкой JSON и XML).
11. Graph Database - Хранит данные в виде узлов и рёбер, оптимизирована для анализа сетевых и социальных связей. Примеры: Neo4j, Microsoft Azure Cosmos DB, Oracle Spatial and Graph.
12. Object-Oriented Database - Хранит данные в виде объектов, поддерживает сложные структуры данных и соответствует объектно-ориентированному программированию. Примеры: db4o, ObjectDB.
Обсудить в чате 💬
Забавно, что на мобиле GIFка отображается с сильно порезанным качеством, а вот на ПК - все отлично. Добавил в комменты.
Всем продуктивной рабочей недели 🚀
Канал Oracle Developer | Чатик💬
Мир БД разнообразен. Не все ограничено Oracle. Есть и узкоспециализированные решения. На днях попалась такая диаграммка, решил поделиться.
1. Blockchain Database - Обеспечивает целостность и безопасность данных. Поддерживает децентрализованные приложения и идеально подходит для транзакционных данных. Примеры: BigchainDB, Chainbase.
2. SQL Database (Relational) - Использует структурированное хранение и доступ к данным. Поддерживает транзакции и реляционную модель данных. Примеры: MySQL, Microsoft SQL Server, Oracle.
3. Columnar Database - Оптимизирована для чтения и записи данных в столбцы. Эффективна для аналитических и OLAP-систем. Примеры: Amazon Redshift, Apache Cassandra, Oracle In-Memory Column Store.
4. NewSQL Database - Сочетает надежность SQL с масштабируемостью NoSQL. Поддерживает ACID-транзакции в больших масштабах и обеспечивает аналитику в реальном времени. Примеры: Google Spanner, CockroachDB.
5. In-Memory Database - Хранит данные в оперативной памяти для быстрого доступа, подходит для приложений с высокими требованиями к скорости и обеспечивает различные варианты постоянства хранения. Примеры: SAP HANA, MemSQL, Oracle Database In-Memory.
6. Spatial Database - Хранит и обрабатывает пространственные данные, такие как географические объекты. Поддерживает индексирование и запросы по местоположению. Примеры: PostGIS, Oracle Spatial and Graph.
7. Vector Database - Оптимизирована для хранения векторных данных, поддерживает модели искусственного интеллекта и машинного обучения, используется для поиска по признакам. Примеры: Milvus, Pinecone.
8. Time-Series Database - Предназначена для хранения и анализа временных рядов. Идеальна для мониторинга и приложений IoT. Примеры: InfluxDB, TimescaleDB.
9. Key-Value Database - Хранит данные в виде пар "ключ-значение". Подходит для кэширования и хранения сессий. Примеры: Redis, Amazon DynamoDB.
10. Document Database - Хранит данные в виде документов с гибкой структурой, поддерживает форматы JSON и XML. Примеры: MongoDB, Couchbase, Oracle Database (с поддержкой JSON и XML).
11. Graph Database - Хранит данные в виде узлов и рёбер, оптимизирована для анализа сетевых и социальных связей. Примеры: Neo4j, Microsoft Azure Cosmos DB, Oracle Spatial and Graph.
12. Object-Oriented Database - Хранит данные в виде объектов, поддерживает сложные структуры данных и соответствует объектно-ориентированному программированию. Примеры: db4o, ObjectDB.
Обсудить в чате 💬
Забавно, что на мобиле GIFка отображается с сильно порезанным качеством, а вот на ПК - все отлично. Добавил в комменты.
Всем продуктивной рабочей недели 🚀
Канал Oracle Developer | Чатик💬
Leetcode. Two Sum (Легкий уровень)
Друзья, всем привет!
Что-то давно у нас не было технических задачек. А сегодня как раз пятница, можно размяться на последок и пойти пить пивко/молочко.
На этот раз задачка будет с LeetCode. Я уже делал пару постов на тему LeetCode. На собесах на разработчика БД это скорее диковинка. Для всех остальных специальностей, алгоритмическая секция - это обязательная часть. Поэтому я периодически разминаю мозг, нужно быть в тонусе 🧠
Задача
Дано массив целых чисел nums и целое число target. Найдите индексы двух чисел, которые в сумме дают target.
Пример
Input: nums = [2, 7, 11, 15], target = 9
Output: [1, 2] // Потому что nums[1] + nums[2] = 2 + 7 = 9
Реализуем на PL/SQL.
—
Я нашел как минимум два способа решения этой задачки. Один - с хреновой трудоемкостью, второй - лучше.
Будет интересно, сколькими способами решите вы. Пишите в чатик.
Рекомендую справиться без ChatGPT :
▫️на собесе не будет возможности;
▫️развиваете 🧠
Ответы опубликую вечером 🎓
Обсудить в чате 💬
#задача #leetcode
Канал Oracle Developer | Чатик💬
Друзья, всем привет!
Что-то давно у нас не было технических задачек. А сегодня как раз пятница, можно размяться на последок и пойти пить пивко/молочко.
На этот раз задачка будет с LeetCode. Я уже делал пару постов на тему LeetCode. На собесах на разработчика БД это скорее диковинка. Для всех остальных специальностей, алгоритмическая секция - это обязательная часть. Поэтому я периодически разминаю мозг, нужно быть в тонусе 🧠
Задача
Дано массив целых чисел nums и целое число target. Найдите индексы двух чисел, которые в сумме дают target.
Пример
Input: nums = [2, 7, 11, 15], target = 9
Output: [1, 2] // Потому что nums[1] + nums[2] = 2 + 7 = 9
Реализуем на PL/SQL.
—
Я нашел как минимум два способа решения этой задачки. Один - с хреновой трудоемкостью, второй - лучше.
Будет интересно, сколькими способами решите вы. Пишите в чатик.
Рекомендую справиться без ChatGPT :
▫️на собесе не будет возможности;
▫️развиваете 🧠
Ответы опубликую вечером 🎓
Обсудить в чате 💬
#задача #leetcode
Канал Oracle Developer | Чатик💬
Leetcode. Two Sum (Легкий уровень). Решение
Два моих варианта.
1️⃣ В лоб. Цикл в цикле
🔸Суть решения: проходим по массиву дважды, перебирая все возможные комбинации.
🔸Трудоемкость: O(N*N). Далеко не самая лучшая.
🔸Собеседующие ждут от вас более элегантного решения. С такой трудоемкостью могут не зачесть. В любом случае, лучше хотя бы так, чем совсем никак.
2️⃣ Ассоциативный массив
🔸Суть решения: заполняем ассоциативный массив элементами, где ключ - это число, значение - позиция в исходном массиве. Рассчитывая каждый раз остаток (v_rest) мы проверяем, есть ли подходящее значение в ассоциативном массиве.
🔸Трудоемкость: O(N).
🔸 Чего-то такого от нас хотят увидеть на собесе.
Надеюсь вам понравилось. Всем хорошей пятницы и выходных!
Если сегодня собираешься хлопнуть пивка ставь 🍺, если трезвенник/язвенник ставь 🍼
На следующей недели будет очень интересный материал. Не переключайтесь 😄
Обсудить в чате 💬
#задача #leetcode
Канал Oracle Developer | Чатик💬
Два моих варианта.
1️⃣ В лоб. Цикл в цикле
declare
type t_nums is table of number(38);
v_nums t_nums := t_nums(-2, -7, 11, 15);
v_target number(38) := -9;
begin
for i in 1 .. v_nums.count() - 1 loop
for j in i + 1 .. v_nums.count() loop
if v_nums(i) + v_nums(j) = v_target then
dbms_output.put_line('Answer: ' || i || ' - ' || j);
exit;
end if;
end loop;
end loop;
end;
/
🔸Суть решения: проходим по массиву дважды, перебирая все возможные комбинации.
🔸Трудоемкость: O(N*N). Далеко не самая лучшая.
🔸Собеседующие ждут от вас более элегантного решения. С такой трудоемкостью могут не зачесть. В любом случае, лучше хотя бы так, чем совсем никак.
2️⃣ Ассоциативный массив
declare
type t_assoc is table of number(38) index by pls_integer;
type t_nums is table of number(38);
v_nums t_nums := t_nums(2, 7, 11, 15);
v_index_num t_assoc;
v_target number(38) := 9;
v_rest number(38);
begin
for i in 1 .. v_nums.count() loop
v_rest := v_target - v_nums(i);
if v_index_num.exists(v_rest) then
dbms_output.put_line('Answer: ' || v_index_num(v_rest) || ' - ' || i);
exit;
end if;
v_index_num(v_nums(i)) := i;
end loop;
end;
/
🔸Суть решения: заполняем ассоциативный массив элементами, где ключ - это число, значение - позиция в исходном массиве. Рассчитывая каждый раз остаток (v_rest) мы проверяем, есть ли подходящее значение в ассоциативном массиве.
🔸Трудоемкость: O(N).
🔸 Чего-то такого от нас хотят увидеть на собесе.
Надеюсь вам понравилось. Всем хорошей пятницы и выходных!
Если сегодня собираешься хлопнуть пивка ставь 🍺, если трезвенник/язвенник ставь 🍼
На следующей недели будет очень интересный материал. Не переключайтесь 😄
Обсудить в чате 💬
#задача #leetcode
Канал Oracle Developer | Чатик💬
Media is too big
VIEW IN TELEGRAM
IDE Cursor и PL/SQL
Друзья, всем привет!
Речь сегодня пойдет про ИИ.
Я надеюсь, что все худо бедно, но потыкали в ChatGPT.
Я лично юзаю платную версию GPT-4-o. Очень круто работает.
Пример из жизни
Я давно хотел запилить front-end для демонстрации связки фронта, миддл и БД для курса "Мастер Oracle PL/SQL".
GPT-3/4 создавала какую-то шляпу. А 4-o сгенерировала мне фронт на Node.js с удобоваримым UI. Я вообще строчки кода не написал 🔥
Ушло на это часа 1.5. Тогда как знакомый фронтендер ломался неделю и так ни хрена не сделал 😊
Порадовал ребят в 13м потоке полноценным демо приложения Kivi-кошелька 🎓
К чему я веду?
Я постоянно ищу способы как можно оптимизировать, улучшить рабочий и не рабочий процессы, как можно свалить рутину на ИИ.
В очередных поисках наткнулся на новую IDE- Cursor 💡
Оболочка, которая за кадром юзает модели типа chatGPT, понимает кодовую базу и т.п.
Качнул, и решил поюзать в бесплатном режиме.
Потратил минут 10 на то, чтобы понять что/куда.
Решил провести эксперимент, справится или нет с PL/SQL-кодом с какой-то не совсем тривиальной задачкой.
Задание такое
Написать процедуру по переименованию секций для таблицы с интервальным секционированием по дню.
Шаблон переименования: PART_YYYY_MM_DD
Казалось бы, что тут такого?
Есть хитрый тип LONG, с которым нужно особенно работать. А в нем как раз хранится инфа по верхней границы секции.
Короче, что из этого получилось смотрите в видосе (5 минут) ⬆️
На ютуб и т.п. не заливал, чисто экспромт. На самом деле, дольше пост писал в телегу, чем делал 😂
Если тема интересна ставьте палец вверх, буду иногда делиться наработками 👍🏻
Обсудить в чате 💬
#секционирование #ai
Канал Oracle Developer | Чатик💬
Друзья, всем привет!
Речь сегодня пойдет про ИИ.
Я надеюсь, что все худо бедно, но потыкали в ChatGPT.
Я лично юзаю платную версию GPT-4-o. Очень круто работает.
Пример из жизни
Я давно хотел запилить front-end для демонстрации связки фронта, миддл и БД для курса "Мастер Oracle PL/SQL".
GPT-3/4 создавала какую-то шляпу. А 4-o сгенерировала мне фронт на Node.js с удобоваримым UI. Я вообще строчки кода не написал 🔥
Ушло на это часа 1.5. Тогда как знакомый фронтендер ломался неделю и так ни хрена не сделал 😊
Порадовал ребят в 13м потоке полноценным демо приложения Kivi-кошелька 🎓
К чему я веду?
Я постоянно ищу способы как можно оптимизировать, улучшить рабочий и не рабочий процессы, как можно свалить рутину на ИИ.
В очередных поисках наткнулся на новую IDE- Cursor 💡
Оболочка, которая за кадром юзает модели типа chatGPT, понимает кодовую базу и т.п.
Качнул, и решил поюзать в бесплатном режиме.
Потратил минут 10 на то, чтобы понять что/куда.
Решил провести эксперимент, справится или нет с PL/SQL-кодом с какой-то не совсем тривиальной задачкой.
Задание такое
Написать процедуру по переименованию секций для таблицы с интервальным секционированием по дню.
Шаблон переименования: PART_YYYY_MM_DD
Казалось бы, что тут такого?
Есть хитрый тип LONG, с которым нужно особенно работать. А в нем как раз хранится инфа по верхней границы секции.
Короче, что из этого получилось смотрите в видосе (5 минут) ⬆️
На ютуб и т.п. не заливал, чисто экспромт. На самом деле, дольше пост писал в телегу, чем делал 😂
Если тема интересна ставьте палец вверх, буду иногда делиться наработками 👍🏻
Обсудить в чате 💬
#секционирование #ai
Канал Oracle Developer | Чатик💬
Друзья, всем привет!
Я, как всегда, готовлю материалы для курсов. За позитивными кейсами, вопросиками и пониманием актуального состояния рынка иногда хожу по собесам.
Например, недавно было целое исследование на позицию Middle Oracle Developer.
Прохожу собесы под фейковой анкетой, чтоб текущие достижения не мешали исследовать рынок 😄
В этот раз, меня интересовала Senior-позиция с зп от 350К.
Оффер был получен, поэтому можно поведать подноготную прохождения для широкой аудитории.
Это была российская страховая компания. Если захотите, назову её в последнем посте 😊
Этапы собесов
1️⃣ 20 минутное интервью с HR + скрининговые вопросы;
2️⃣ 1.5 часовое тех собеседование;
3️⃣ оффер через неделю.
В целом, все плюс минус оперативно, без задержек. Впечатление осталось приятное, хотя с конечной суммой пожадничали и получили отказ 😄
Технический собес был продолжительный, материала на целую неделю постов 🔥
Начну, пожалуй, со скрининг вопросов от HR, которые немного выбивались своим разнообразием.
13 вопросов
1. Структура SQL-запроса: обязательные и необязательные элементы, какие знаете?
2. Какие существуют constraints?
3. Чем отличаются primary key от foreign key?
4. Какие существуют три типа связей или отношений между таблицами реляционной базы данных?
5. Что такое цикл и какие виды циклов вы знаете?
6. Какие виды коллекций есть?
7. Из чего состоит пакет?
8. Чем отличается функция от процедуры?
9. Назовите команду, которой можно переключиться между ветками.
10. Чем отличаются локальные репозитории от удалённых?
11. Что делает команда Push?
12. Какие форматы обмена данными вы знаете?
13. Знаете ли вы отличия метода Post и Get?
Завтра опубликую ауди/видос с ответами 🎓
А пока, можно обсудить ответы в чате 💬
Всем хорошей пятницы 🍺/🍼
#собеседование #hr #карьера
Канал Oracle Developer | Чатик💬
Я, как всегда, готовлю материалы для курсов. За позитивными кейсами, вопросиками и пониманием актуального состояния рынка иногда хожу по собесам.
Например, недавно было целое исследование на позицию Middle Oracle Developer.
Прохожу собесы под фейковой анкетой, чтоб текущие достижения не мешали исследовать рынок 😄
В этот раз, меня интересовала Senior-позиция с зп от 350К.
Оффер был получен, поэтому можно поведать подноготную прохождения для широкой аудитории.
Это была российская страховая компания. Если захотите, назову её в последнем посте 😊
Этапы собесов
1️⃣ 20 минутное интервью с HR + скрининговые вопросы;
2️⃣ 1.5 часовое тех собеседование;
3️⃣ оффер через неделю.
В целом, все плюс минус оперативно, без задержек. Впечатление осталось приятное, хотя с конечной суммой пожадничали и получили отказ 😄
Технический собес был продолжительный, материала на целую неделю постов 🔥
Начну, пожалуй, со скрининг вопросов от HR, которые немного выбивались своим разнообразием.
13 вопросов
1. Структура SQL-запроса: обязательные и необязательные элементы, какие знаете?
2. Какие существуют constraints?
3. Чем отличаются primary key от foreign key?
4. Какие существуют три типа связей или отношений между таблицами реляционной базы данных?
5. Что такое цикл и какие виды циклов вы знаете?
6. Какие виды коллекций есть?
7. Из чего состоит пакет?
8. Чем отличается функция от процедуры?
9. Назовите команду, которой можно переключиться между ветками.
10. Чем отличаются локальные репозитории от удалённых?
11. Что делает команда Push?
12. Какие форматы обмена данными вы знаете?
13. Знаете ли вы отличия метода Post и Get?
Завтра опубликую ауди/видос с ответами 🎓
А пока, можно обсудить ответы в чате 💬
Всем хорошей пятницы 🍺/🍼
#собеседование #hr #карьера
Канал Oracle Developer | Чатик💬
This media is not supported in your browser
VIEW IN TELEGRAM
Аудио/видео с ответами
Чем хочется заняться днем/вечером в субботу?
Конечно, послушать ответы на скрининговые вопросы от Дениса 😂
У нас там нешуточные баталии разгорелись в чатике из-за того, что считать "запросом".
Представляю как бомбанет после моих ответов 😄
1️⃣ Коллеги, если бы я думал об идеальных постах, формулировках, собеседованиях и т.п., то нашего сообщества просто не существовало. Я бы до сих пор, сидел в параличе, думал как канал назвать.
Поэтому, иногда, стоит отключить своего внутреннего перфекциониста и забить на некоторые моменты 😉
2️⃣ Позволить себе ошибаться, не гнобить себя - это нормально. Где-то можно оговориться, что-то забыть и т.п. мы все люди. Как только расслабитесь - мир станет проще и перестанет быть черно-белым 🫶🏻
Всем девушкам цветочек🌷
А впечатлительным вискаречек🥃
Хорошей субботы 👯♀️
#собеседование #hr #карьера
Канал Oracle Developer | Чатик💬
Чем хочется заняться днем/вечером в субботу?
Конечно, послушать ответы на скрининговые вопросы от Дениса 😂
У нас там нешуточные баталии разгорелись в чатике из-за того, что считать "запросом".
Представляю как бомбанет после моих ответов 😄
1️⃣ Коллеги, если бы я думал об идеальных постах, формулировках, собеседованиях и т.п., то нашего сообщества просто не существовало. Я бы до сих пор, сидел в параличе, думал как канал назвать.
Поэтому, иногда, стоит отключить своего внутреннего перфекциониста и забить на некоторые моменты 😉
2️⃣ Позволить себе ошибаться, не гнобить себя - это нормально. Где-то можно оговориться, что-то забыть и т.п. мы все люди. Как только расслабитесь - мир станет проще и перестанет быть черно-белым 🫶🏻
Всем девушкам цветочек
А впечатлительным вискаречек
Хорошей субботы 👯♀️
#собеседование #hr #карьера
Канал Oracle Developer | Чатик💬
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Создание таблиц для "ВетКлиники"
Друзья, всем привет!
Продолжаем разбирать на атомы собес в страховую компанию 😉 Очень мне понравилась девушка-интервьювер. Спокойная, корректная, с интересными вопросами и задачками.
В видео задача на архитектуру.
Представьте, что вы на интервью и у вас есть... минут 15 на ответ и голый эксель, который попросили открыть.
Никто на собесе особо ждать не будет - пока вы там в чатике попереживаете, о том, что задание некорректное, какие все интервьюверы упыри и т.д. 😂
Дали - делаешь. Что пришло в голову согласно знаниями и опыту.
На днях опубликую мою версию решения. Оно не хорошее и не плохое. Просто вариант 😊
Можно было бы придумать, какой-нибудь конкурс, но я сейчас сильно занят подготовкой к новому курсу по Оптимизации 🎓 Времени нет совсем 😔
🎁 В общем, если будет готовое решение, не общие слова ("возьми ту фигню и воткни в эту фигню"), то как-нибудь отблагодарю в пятницу на пивко или молочко 🍼🍺
Как бы вы решили эту задачу? Обсудить в чате 💬
#собеседование #hr #карьера
Канал Oracle Developer | Чатик💬
Друзья, всем привет!
Продолжаем разбирать на атомы собес в страховую компанию 😉 Очень мне понравилась девушка-интервьювер. Спокойная, корректная, с интересными вопросами и задачками.
В видео задача на архитектуру.
Представьте, что вы на интервью и у вас есть... минут 15 на ответ и голый эксель, который попросили открыть.
Никто на собесе особо ждать не будет - пока вы там в чатике попереживаете, о том, что задание некорректное, какие все интервьюверы упыри и т.д. 😂
Дали - делаешь. Что пришло в голову согласно знаниями и опыту.
На днях опубликую мою версию решения. Оно не хорошее и не плохое. Просто вариант 😊
Можно было бы придумать, какой-нибудь конкурс, но я сейчас сильно занят подготовкой к новому курсу по Оптимизации 🎓 Времени нет совсем 😔
🎁 В общем, если будет готовое решение, не общие слова ("возьми ту фигню и воткни в эту фигню"), то как-нибудь отблагодарю в пятницу на пивко или молочко 🍼🍺
Как бы вы решили эту задачу? Обсудить в чате 💬
#собеседование #hr #карьера
Канал Oracle Developer | Чатик💬
Media is too big
VIEW IN TELEGRAM
Создание таблицы для "ВетКлиники". Мое решение
Коллеги, всем привет!
Я думаю, пора заканчивать интригу с заданием с собеса.
В видео моё решение. По сути:
1️⃣ Для гибкого хранения свойств объекта применяем EAV. Я про это уже писал пост. У этого решения есть свои плюсы и минусы.
Конкретно для нашего случая:
🔸 Есть справочник свойств питомца - длина, ширина, есть/нет когти и т.п.
🔸 Табличка отношения конкретного животного, его свойств и значения.
2️⃣ Для контроля за тем, какие свойства есть у животного используем таблицу с правилами, в которой описываются свойств животного относительно вида животного.
Эти правила проверяются при вставке/изменения свойств животного. Проверка происходит в API по работе с сущностями (я топлю за этот вариант) или в триггерах.
Этот пример, на самом деле, 1 в 1, похож на наш процессинг, который студенты пишут в курсе "Мастер Oracle PL/SQL". Там тоже сплошь и рядом применяется EAV (клиент и его свойства, платеж - детали платежа и т.п.).
—
В целом, ребята в чатике накидали плюс/минус тоже самое.
Никакого особенного конкурса не было, но считаю, что коллеги заслуживают, как минимум, вашего 👍🏻 на посте 😉
🎁 Автор сообщения с максимальным количеством реакций получит 1K руб в пятницу на 🍼 или 🍺
Решение 1, решение 2, решение 3, решение 4, решение 5
—
Подводя итог этой части тех собеса.
Дальше девушка начала меня спрашивать по разным тонкостям от констрейнтов до поиска/индексов и т.п.
Т.е. буквально на объектах ветклиники, которые мы создали, разбирается пласт теории.
Было прям неожиданно и интересно 🔥
Я лично считаю, и говорил об этом на эфире, что на собесе практические задания могут очень быстро показать есть ли опыт у человека, может ли справиться с банальными вещами.
Конечно, без перебора. Не надо давать спроектировать ядерный реактор в РСУБД 😄😄
А вы как считаете? Обсудить в чате 💬
В видео я выложил только архитектурную часть, но есть еще +1 час (!) вопросов по этой структуре.
Если пост наберет 100 🔥 - залью на видеохостинг полностью всё 😉
#собеседование #hr #карьера
Канал Oracle Developer | Чатик💬
Коллеги, всем привет!
Я думаю, пора заканчивать интригу с заданием с собеса.
В видео моё решение. По сути:
1️⃣ Для гибкого хранения свойств объекта применяем EAV. Я про это уже писал пост. У этого решения есть свои плюсы и минусы.
Конкретно для нашего случая:
🔸 Есть справочник свойств питомца - длина, ширина, есть/нет когти и т.п.
🔸 Табличка отношения конкретного животного, его свойств и значения.
2️⃣ Для контроля за тем, какие свойства есть у животного используем таблицу с правилами, в которой описываются свойств животного относительно вида животного.
Эти правила проверяются при вставке/изменения свойств животного. Проверка происходит в API по работе с сущностями (я топлю за этот вариант) или в триггерах.
Этот пример, на самом деле, 1 в 1, похож на наш процессинг, который студенты пишут в курсе "Мастер Oracle PL/SQL". Там тоже сплошь и рядом применяется EAV (клиент и его свойства, платеж - детали платежа и т.п.).
—
В целом, ребята в чатике накидали плюс/минус тоже самое.
Никакого особенного конкурса не было, но считаю, что коллеги заслуживают, как минимум, вашего 👍🏻 на посте 😉
🎁 Автор сообщения с максимальным количеством реакций получит 1K руб в пятницу на 🍼 или 🍺
Решение 1, решение 2, решение 3, решение 4, решение 5
—
Подводя итог этой части тех собеса.
Дальше девушка начала меня спрашивать по разным тонкостям от констрейнтов до поиска/индексов и т.п.
Т.е. буквально на объектах ветклиники, которые мы создали, разбирается пласт теории.
Было прям неожиданно и интересно 🔥
Я лично считаю, и говорил об этом на эфире, что на собесе практические задания могут очень быстро показать есть ли опыт у человека, может ли справиться с банальными вещами.
Конечно, без перебора. Не надо давать спроектировать ядерный реактор в РСУБД 😄😄
А вы как считаете? Обсудить в чате 💬
В видео я выложил только архитектурную часть, но есть еще +1 час (!) вопросов по этой структуре.
Если пост наберет 100 🔥 - залью на видеохостинг полностью всё 😉
#собеседование #hr #карьера
Канал Oracle Developer | Чатик💬
Друзья, всем привет!
Я на месте и готов радовать вас годнотой 😄
Обещанное видео с технического собеса в страховую компанию "Ренессанс Жизнь".
🔸Youtube
🔸Rutube
На мой взгляд, один из лучших интервьюверов, с кем мне удалось пообщаться. К сожалению, по деньгам СК не сильно расщедрилась. На позицию Senior всего 320К чистыми. На текущем рынке, есть предложения по 370-400К. В общем, у всех свои финансовые возможности💵
Темы с собеса
🔸Архитектурная задача: ветеринарная клиника,
🔸Вопросы про Primary Key и Unique (UK)
🔸Вопросы про Foreign Key
🔸Вопросы про индексы
🔸Вопросы про триггеры
🔸Ошибка мутирующей таблицы
🔸Виды коллекций, ограничения
🔸Pipelined-функции
🔸Планы запросов и оптимизация
🔸Операции Range Scan и Skip Scan
🔸Cardinality, cost и статистика
🔸Блокировки
🔸Что такое Deadlock🔸
Приятного просмотра 🎥
Обсудить в чате 💬
#карьера #собеседование #видео
Канал Oracle Developer | Чатик💬
Я на месте и готов радовать вас годнотой 😄
Обещанное видео с технического собеса в страховую компанию "Ренессанс Жизнь".
🔸Youtube
🔸Rutube
На мой взгляд, один из лучших интервьюверов, с кем мне удалось пообщаться. К сожалению, по деньгам СК не сильно расщедрилась. На позицию Senior всего 320К чистыми. На текущем рынке, есть предложения по 370-400К. В общем, у всех свои финансовые возможности
Темы с собеса
🔸Архитектурная задача: ветеринарная клиника,
🔸Вопросы про Primary Key и Unique (UK)
🔸Вопросы про Foreign Key
🔸Вопросы про индексы
🔸Вопросы про триггеры
🔸Ошибка мутирующей таблицы
🔸Виды коллекций, ограничения
🔸Pipelined-функции
🔸Планы запросов и оптимизация
🔸Операции Range Scan и Skip Scan
🔸Cardinality, cost и статистика
🔸Блокировки
🔸Что такое Deadlock🔸
Приятного просмотра 🎥
Обсудить в чате 💬
#карьера #собеседование #видео
Канал Oracle Developer | Чатик💬
Please open Telegram to view this post
VIEW IN TELEGRAM
🌐 Навигация по темам канала Oracle Developer
📘 Основы
#sql #plsql #теория #архитектура
#функции #секционирование #временныетаблицы
#транзакции #исключения #курсоры
#аналитическиефункции #иерархическиезапросы
#системныепредставления #компиляция #представления #коллекции #циклы
🛠 Практика и задачи
#задача #решениезадачи #asktom
🚀 Оптимизация и производительность
#оптимизация #nestedloops #индекс
🧩 Инструменты и технологии
#тестирование #postgresql #oracle #docker #oracle23c #ide #ai
💼 Карьера и Развитие
#карьера #собеседование #hr #тинькофф #magnit #вкусноиточка #leroymerlin #сбер #яндекс #Эффективность #КарьерныйРост #Denis_Kivillev #Работа
🎓 Дополнительные материалы
#видео #подкаст #аудиоподкаст #конкурс #марафон #юмор
—
В почти 700 (!) постах не мудрено заплутать. Поэтому решил сделать подобие навигации 😉
Не забывайте пользоваться обычным поиском, я не добавил сюда низкочастотные хештеги.
Канал Oracle Developer | Чатик💬
📘 Основы
#sql #plsql #теория #архитектура
#функции #секционирование #временныетаблицы
#транзакции #исключения #курсоры
#аналитическиефункции #иерархическиезапросы
#системныепредставления #компиляция #представления #коллекции #циклы
🛠 Практика и задачи
#задача #решениезадачи #asktom
🚀 Оптимизация и производительность
#оптимизация #nestedloops #индекс
🧩 Инструменты и технологии
#тестирование #postgresql #oracle #docker #oracle23c #ide #ai
💼 Карьера и Развитие
#карьера #собеседование #hr #тинькофф #magnit #вкусноиточка #leroymerlin #сбер #яндекс #Эффективность #КарьерныйРост #Denis_Kivillev #Работа
🎓 Дополнительные материалы
#видео #подкаст #аудиоподкаст #конкурс #марафон #юмор
—
В почти 700 (!) постах не мудрено заплутать. Поэтому решил сделать подобие навигации 😉
Не забывайте пользоваться обычным поиском, я не добавил сюда низкочастотные хештеги.
Канал Oracle Developer | Чатик💬
Как проходит ваша суббота?
Друзья, привет ☀️
Кто чем занят в субботу? Надеюсь, отдыхаете и восстанавливаете силы 👍🏻
У меня выдался продуктивный день - сплавил жену с детьми к теще, записал в тишине новый видос по курсу Оптимизации - "Доступ к данным таблиц". Сейчас сижу в Adobe Premier спокойно монтирую без воплей "папа, она меня ударила!". У кого есть дети меня поймут 😄
До этого на трех потоках по оптимизации (прошло около 40 человек), я читал лекции сам. Каждый понедельник мы собирались в 19:15 и 1.5-2 часа тратилось на теорию.
Это прямо скажем, было не всегда удобно + долго.
В общем, за три потока материал устаканился. Я решил, что пора оцифровать теорию.
Собственно, новый 4️⃣й поток по "Оптимизации Oracle SQL", который стартовал в начале октября, уже учится по видео-лекциям.
Чем хороши видео-лекции? Сжатым таймингом, нет беканий/меканий, чистый концентрат знаний и можно посмотреть, когда тебе удобно. Если есть вопрос, то под видео есть FAQ или ТГ-чат с группой, где почти 24/7 можно задать вопрос и получить ответ.
На скрине показан процесс монтажа. Дело это довольно нудное и время затратное, каких-то помощников я привлечь не могу, хрен его знает, что они там намонтируют не понимая тему 🤷🏻♂️
С монтажем, в том объеме, в котором требуется мне, я уже давно освоился. Еще когда курс по PL/SQL делал. С каждым разом получается все более и более качественно.
Иногда смотрю свои видосы на ютубе, самые первые... волосы шевелятся от "качества" аудио и видео 😂
Кто думает, что "курсики стряпать дело 5 минут" не понимают процесса вообще 😊 На самом деле, довольно адский труд. Сделать хороший качественный продукт охренеть как сложно. Шанс слиться - 99% в первые 15 минут обдумывания идеи 😄😄
Вот так и проходят выходные 🤷🏻♂️
А у вас как? Тоже заняты чем-то по работе или может уделяете время хобби? Вообще, народ, чем кто занимается? Есть у кого-то хобби какое-то или увлечение? Рыбалка, может, или ИИ курочите 😄
Поделиться в чате 💬
#Denis_Kivillev #оптимизация
Канал Oracle Developer | Чатик💬
Друзья, привет ☀️
Кто чем занят в субботу? Надеюсь, отдыхаете и восстанавливаете силы 👍🏻
У меня выдался продуктивный день - сплавил жену с детьми к теще, записал в тишине новый видос по курсу Оптимизации - "Доступ к данным таблиц". Сейчас сижу в Adobe Premier спокойно монтирую без воплей "папа, она меня ударила!". У кого есть дети меня поймут 😄
До этого на трех потоках по оптимизации (прошло около 40 человек), я читал лекции сам. Каждый понедельник мы собирались в 19:15 и 1.5-2 часа тратилось на теорию.
Это прямо скажем, было не всегда удобно + долго.
В общем, за три потока материал устаканился. Я решил, что пора оцифровать теорию.
Собственно, новый 4️⃣й поток по "Оптимизации Oracle SQL", который стартовал в начале октября, уже учится по видео-лекциям.
Чем хороши видео-лекции? Сжатым таймингом, нет беканий/меканий, чистый концентрат знаний и можно посмотреть, когда тебе удобно. Если есть вопрос, то под видео есть FAQ или ТГ-чат с группой, где почти 24/7 можно задать вопрос и получить ответ.
На скрине показан процесс монтажа. Дело это довольно нудное и время затратное, каких-то помощников я привлечь не могу, хрен его знает, что они там намонтируют не понимая тему 🤷🏻♂️
С монтажем, в том объеме, в котором требуется мне, я уже давно освоился. Еще когда курс по PL/SQL делал. С каждым разом получается все более и более качественно.
Иногда смотрю свои видосы на ютубе, самые первые... волосы шевелятся от "качества" аудио и видео 😂
Кто думает, что "курсики стряпать дело 5 минут" не понимают процесса вообще 😊 На самом деле, довольно адский труд. Сделать хороший качественный продукт охренеть как сложно. Шанс слиться - 99% в первые 15 минут обдумывания идеи 😄😄
Вот так и проходят выходные 🤷🏻♂️
А у вас как? Тоже заняты чем-то по работе или может уделяете время хобби? Вообще, народ, чем кто занимается? Есть у кого-то хобби какое-то или увлечение? Рыбалка, может, или ИИ курочите 😄
Поделиться в чате 💬
#Denis_Kivillev #оптимизация
Канал Oracle Developer | Чатик💬
"Денис, ты что-то скрываешь"
Друзья, всем привет!
Мне в личку написало несколько человек + в чатике задали аналогичный вопрос об обучении по Оптимизации Oracle SQL - "почему не было анонса осенней группы?" 🤔
Хочу объяснить: 4️⃣-й поток запустили для корпоративного обучения. У меня появилась опция оплаты от юр лиц. Несколько компаний заранее обратились ко мне для подготовки своих ребят 💼 Кстати, эту возможность уже можно обсудить с вашим отделом обучения 😉
Почему не анонсировал?
Этот поток был именно для компаний + было несколько человек из моих бывших студентов, кто хотел попасть на обучение. Но скоро откроется предзапись на 5️⃣-й поток, и этот набор будет для всех! 🎉
Важно
Мест будет немного, чтобы сохранить персональный подход. Исходя из реакций на марафоне по PL/SQL и обращений в личку, количество желающих больше чем количество доступных мест 😮 Если планируете записаться, не откладывайте!
Что нового?
Курс обновлен на 30%! 📈
🔸 записаны видео-уроки, изменен материал с учетом предыдущих потоков;
🔸 еще больше добавлено практики разного уровня сложности;
🔸 видео-нарезки с реальных собеседований по блоку оптимизации;
🔸 добавлены темы по карьерному росту, трудоустройству за рубежом;
🔸 психологическая поддержка, ориентация на рост в senior/тимлида.
Материал подан еще лучше
лекции короче и насыщеннее 🎥, добавлены конспекты и FAQ 📚, создана удобная платформа для общения и поддержки. 🤝
В декабре я также планирую провести марафон по оптимизации Oracle 🏃♂️
Это будет интенсив на несколько дней для тех, кто хочет погрузиться в тему и быстро освоить основные знания.
Почему стоит участвовать?
1️⃣ Вы получите навыки, которые сможете сразу применять.
2️⃣ Станете ценнее как специалист.
3️⃣ Сможете решать задачи быстрее и эффективнее.
4️⃣ Перестанете бояться собеседований по оптимизации.
Как следствие повысите свою зарплату и сможете закрыть желанную цель/мечту💵
Следите за обновлениями и не пропустите анкету предзаписи! 😉
#Denis_Kivillev #оптимизация #курс #обучение
Канал Oracle Developer | Чатик💬
Друзья, всем привет!
Мне в личку написало несколько человек + в чатике задали аналогичный вопрос об обучении по Оптимизации Oracle SQL - "почему не было анонса осенней группы?" 🤔
Хочу объяснить: 4️⃣-й поток запустили для корпоративного обучения. У меня появилась опция оплаты от юр лиц. Несколько компаний заранее обратились ко мне для подготовки своих ребят 💼 Кстати, эту возможность уже можно обсудить с вашим отделом обучения 😉
Почему не анонсировал?
Этот поток был именно для компаний + было несколько человек из моих бывших студентов, кто хотел попасть на обучение. Но скоро откроется предзапись на 5️⃣-й поток, и этот набор будет для всех! 🎉
Важно
Мест будет немного, чтобы сохранить персональный подход. Исходя из реакций на марафоне по PL/SQL и обращений в личку, количество желающих больше чем количество доступных мест 😮 Если планируете записаться, не откладывайте!
Что нового?
Курс обновлен на 30%! 📈
🔸 записаны видео-уроки, изменен материал с учетом предыдущих потоков;
🔸 еще больше добавлено практики разного уровня сложности;
🔸 видео-нарезки с реальных собеседований по блоку оптимизации;
🔸 добавлены темы по карьерному росту, трудоустройству за рубежом;
🔸 психологическая поддержка, ориентация на рост в senior/тимлида.
Материал подан еще лучше
лекции короче и насыщеннее 🎥, добавлены конспекты и FAQ 📚, создана удобная платформа для общения и поддержки. 🤝
В декабре я также планирую провести марафон по оптимизации Oracle 🏃♂️
Это будет интенсив на несколько дней для тех, кто хочет погрузиться в тему и быстро освоить основные знания.
Почему стоит участвовать?
1️⃣ Вы получите навыки, которые сможете сразу применять.
2️⃣ Станете ценнее как специалист.
3️⃣ Сможете решать задачи быстрее и эффективнее.
4️⃣ Перестанете бояться собеседований по оптимизации.
Как следствие повысите свою зарплату и сможете закрыть желанную цель/мечту
Следите за обновлениями и не пропустите анкету предзаписи! 😉
#Denis_Kivillev #оптимизация #курс #обучение
Канал Oracle Developer | Чатик💬
Please open Telegram to view this post
VIEW IN TELEGRAM
Как правильно подходить к процессу оптимизации
Друзья, всем привет! 👋
Сегодня обсудим, как правильно подходить к оптимизации баз данных - тема, важная для улучшения производительности приложений и удовлетворенности пользователей.
С чего начать?
Первым делом стоит понять, что за условной кнопкой в интерфейсе пользователя стоит довольно большое количество слоёв. Каждый из них может вносить свои задержки. Нас интересует слой базы данных.
База данных - это своего рода "черный ящик", который принимает наши запросы и возвращает результаты. За ее внутреннюю оптимизацию отвечают администраторы баз данных (DBA) и системные администраторы (настройка серверов). Наша задача, как разработчиков, писать эффективные и оптимизированные SQL-запросы 🔝
Когда задумываться об оптимизации?
Есть два случая:
1️⃣ Проактивная оптимизация - когда пишем новый код и хотим сделать его производительным, чтобы не замедлить приложение после обновления 🐌
2️⃣ Реактивная оптимизация - когда проблема уже возникла, и пользователи жалуются на медленную работу 🔍
На скрине - слайд из лекций.
Как действовать?
1️⃣ Проактивная оптимизация
▫️Анализируйте запросы при разработке, проверяйте планы выполнения, операции в них, другие показатели.
▫️Используйте лучшие практики написания SQL-запросов.
▫️Тестируйте в условиях, похожих на боевые.
2️⃣Реактивная оптимизация
▫️Найдите медленные запросы.
▫️Соберите данные по ним - планы, статистики выполнения и др.
▫️Проанализируйте, найдите узкие места.
▫️Измените запрос, структуры данных.
▫️Внедрите изменения в PROD-среду и отслеживайте результат.
Важно помнить
💡Если у вас нет явных проблем с производительностью, не стоит тратить время на оптимизацию ради оптимизации. Лучше сосредоточьтесь на текущих задачах и развитии функционала.
💡Однако, если вы пишете новый код, всегда держите в уме лучшие практики и стремитесь писать эффективные запросы с самого начала. 💡
Оптимизация в реальной жизни
В реальных проектах у нас часто нет времени "плевать в потолок" и заниматься оптимизацией без явной необходимости 📆 Важно уметь быстро реагировать и иметь в арсенале проверенные методы.
Оптимизация баз данных - это не разовая задача, а постоянный процесс, который требует внимания и знаний. Чем больше вы сталкиваетесь с реальными проблемами и находите их решения, тем опытнее становитесь. Главное — обеспечить стабильную и быструю работу пользователей 🎯
Как вы подходите к оптимизации в своих проектах? Поделитесь опытом в чатике 💬
#оптимизация #курс
Канал Oracle Developer | Чатик💬
Друзья, всем привет! 👋
Сегодня обсудим, как правильно подходить к оптимизации баз данных - тема, важная для улучшения производительности приложений и удовлетворенности пользователей.
С чего начать?
Первым делом стоит понять, что за условной кнопкой в интерфейсе пользователя стоит довольно большое количество слоёв. Каждый из них может вносить свои задержки. Нас интересует слой базы данных.
База данных - это своего рода "черный ящик", который принимает наши запросы и возвращает результаты. За ее внутреннюю оптимизацию отвечают администраторы баз данных (DBA) и системные администраторы (настройка серверов). Наша задача, как разработчиков, писать эффективные и оптимизированные SQL-запросы 🔝
Когда задумываться об оптимизации?
Есть два случая:
1️⃣ Проактивная оптимизация - когда пишем новый код и хотим сделать его производительным, чтобы не замедлить приложение после обновления 🐌
2️⃣ Реактивная оптимизация - когда проблема уже возникла, и пользователи жалуются на медленную работу 🔍
На скрине - слайд из лекций.
Как действовать?
1️⃣ Проактивная оптимизация
▫️Анализируйте запросы при разработке, проверяйте планы выполнения, операции в них, другие показатели.
▫️Используйте лучшие практики написания SQL-запросов.
▫️Тестируйте в условиях, похожих на боевые.
2️⃣Реактивная оптимизация
▫️Найдите медленные запросы.
▫️Соберите данные по ним - планы, статистики выполнения и др.
▫️Проанализируйте, найдите узкие места.
▫️Измените запрос, структуры данных.
▫️Внедрите изменения в PROD-среду и отслеживайте результат.
Важно помнить
💡Если у вас нет явных проблем с производительностью, не стоит тратить время на оптимизацию ради оптимизации. Лучше сосредоточьтесь на текущих задачах и развитии функционала.
💡Однако, если вы пишете новый код, всегда держите в уме лучшие практики и стремитесь писать эффективные запросы с самого начала. 💡
Оптимизация в реальной жизни
В реальных проектах у нас часто нет времени "плевать в потолок" и заниматься оптимизацией без явной необходимости 📆 Важно уметь быстро реагировать и иметь в арсенале проверенные методы.
Оптимизация баз данных - это не разовая задача, а постоянный процесс, который требует внимания и знаний. Чем больше вы сталкиваетесь с реальными проблемами и находите их решения, тем опытнее становитесь. Главное — обеспечить стабильную и быструю работу пользователей 🎯
Как вы подходите к оптимизации в своих проектах? Поделитесь опытом в чатике 💬
#оптимизация #курс
Канал Oracle Developer | Чатик💬
Задача. Медленный запрос с продуктами
Друзья, всем привет!
Сегодня у нас очень простенькая задача на оптимизацию, в ней нет никаких подвохов.
Дана таблица:
🔸Всего 1M строк.
🔸Уникальных category - 1000.
🔸Данные распределены примерно равномерно по категориям.
Аналитик Василий выполняет запрос и ждет его результатов, довольно, долго⏳
В конце концов, ему это надоело и он пришел к вам с просьбой его ускорить.
Что посоветуете сделать? Обсудить в чате 💬
#задача #оптимизация
Канал Oracle Developer | Чатик💬
Друзья, всем привет!
Сегодня у нас очень простенькая задача на оптимизацию, в ней нет никаких подвохов.
Дана таблица:
create table products (
product_id number(10) primary key,
product_name varchar2(100) not null,
price number(10, 2) not null,
category varchar2(50) not null
);
🔸Всего 1M строк.
🔸Уникальных category - 1000.
🔸Данные распределены примерно равномерно по категориям.
Аналитик Василий выполняет запрос и ждет его результатов, довольно, долго⏳
select product_name
,price
from products
where category = 'Electronics'
and price > 100;
В конце концов, ему это надоело и он пришел к вам с просьбой его ускорить.
Что посоветуете сделать? Обсудить в чате 💬
#задача #оптимизация
Канал Oracle Developer | Чатик💬
Решение. Медленный запрос с продуктами.
Друзья, всем привет!
Обсудим решение нашей простенькой задачки из предыдущего поста.
—
Итак, аналитик Василий обещал вам проставиться в пятницу бутылочкой вкусного пивка 🍺
А все потому, что вы ускорили его запрос!
К вам подошел коллега Игорь и решил поинтересоваться как вы справились с этой задачкой.
💭 "Игорь, это же элементарно! В предикатах участвуют два столбца category и price. Category имеет довольно разнообразное значение. Я где-то слышал, что такие значения называют высококардинальными значениями. И Price, само собой, тоже. Я подумал, что было бы круто создать составной индекс по этим двум полям. Отбираться будет меньше 5-15% от общего количества, а значит индекс будет эффективен", - довольно ответили вы 😊
И сразу же показали, скрипт создания индекса.
А что бы убедить Игоря, показали explain план запроса (см скрин).
"Да! но как ты получил план запроса?", - спросил Игорь.
"А это уже профессиональная тайна", - довольно ответили вы 😊
Senior разработчик Кирилл, совершенно случайно услышавший ваш разговор, добавил: "вообще, можно было бы и одним полем обойтись" 😉
Обсудить в чате 💬
#решениезадачи #оптимизация
Канал Oracle Developer | Чатик💬
Друзья, всем привет!
Обсудим решение нашей простенькой задачки из предыдущего поста.
—
Итак, аналитик Василий обещал вам проставиться в пятницу бутылочкой вкусного пивка 🍺
А все потому, что вы ускорили его запрос!
К вам подошел коллега Игорь и решил поинтересоваться как вы справились с этой задачкой.
💭 "Игорь, это же элементарно! В предикатах участвуют два столбца category и price. Category имеет довольно разнообразное значение. Я где-то слышал, что такие значения называют высококардинальными значениями. И Price, само собой, тоже. Я подумал, что было бы круто создать составной индекс по этим двум полям. Отбираться будет меньше 5-15% от общего количества, а значит индекс будет эффективен", - довольно ответили вы 😊
И сразу же показали, скрипт создания индекса.
create index products_category_price_i on products (category, price);
А что бы убедить Игоря, показали explain план запроса (см скрин).
"Да! но как ты получил план запроса?", - спросил Игорь.
"А это уже профессиональная тайна", - довольно ответили вы 😊
Обсудить в чате 💬
#решениезадачи #оптимизация
Канал Oracle Developer | Чатик💬