This media is not supported in your browser
VIEW IN TELEGRAM
Поэтому, если вы готовитесь к собеседованию по SQL, решите эти 11 РЕАЛЬНЫХ вопросов для собеседования Google по SQL.
https://datalemur.com/blog/google-sql-interview-questions
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
MySQL ускорение SQL запросов
Ускорение SQL запросов в MySQL может быть достигнуто следующими способами:
1. Индексы: использование индексов может ускорить поиск и сортировку данных в ваших таблицах.
2. Оптимизация структуры таблиц: важно убедиться, что структура таблиц оптимизирована для выполнения запросов.
3. Оптимизация запросов: проверьте ваши запросы на оптимизацию, убедитесь, что вы используете правильные операторы JOIN и индексы для улучшения производительности.
4. Кэширование данных: использование кэширования данных может ускорить выполнение повторяющихся запросов.
5. Использование представлений: использование представлений может упростить запросы и улучшить их читаемость.
6. Ограничение размера выборки: используйте оператор LIMIT, чтобы выбрать только необходимые данные, это уменьшит время выполнения запроса.
7. Минимизация дубликатов данных: дубликаты данных могут увеличить размер таблицы и уменьшить производительность запросов. Удаляйте дубликаты данных или используйте оптимизированные структуры данных, такие как нормализованные таблицы.
8. Оптимизация памяти: оптимизируйте использование памяти вашей базы данных, чтобы уменьшить время обработки запросов.
9. Мониторинг производительности: важен для определения причин низкой производительности и для поиска способов ее улучшения. Он включает в себя слежение за показателями, такими как загруженность процессора, использование памяти, время ответа на запросы и т. д.
10. Использование индексов: используйте индексы, чтобы ускорить поиск данных в таблице. Обеспечьте, чтобы ваши индексы были актуальными и эффективными.
11. Оптимизация объединений: используйте оптимальные методы объединения, такие как внутреннее или внешнее объединение, чтобы ускорить выполнение запросов.
12. Использование хранимых процедур: хранимые процедуры могут ускорить выполнение повторяющихся запросов.
13. Использование кеширования: используйте кеширование, чтобы ускорить выполнение запросов и уменьшить нагрузку на базу данных.
14. Оптимизация конфигурации сервера: оптимизируйте конфигурацию сервера, такую как количество памяти и число потоков, чтобы улучшить производительность базы данных.
15. Оптимизация структуры таблиц: периодически оценивайте структуру таблиц и выполняйте необходимые изменения, чтобы улучшить производительность.
16. Оптимизация запросов: проверяйте и оптимизируйте свои SQL-запросы, чтобы улучшить их производительность.
17. Ограничение данных: ограничивайте количество возвращаемых данных, чтобы улучшить производительность.
18. Мониторинг производительности: мониторинг производительности поможет вам выявить проблемы и найти способы их устранения.
19. Обновление ПО: регулярно обновляйте ПО, используемое вашей базой данных, чтобы воспользоваться последними улучшениями производительности.
20. Использование индексов: правильное использование индексов может существенно улучшить производительность SQL-запросов.
Обратите внимание, что нет единого решения для улучшения производительности SQL-запросов, и каждый случай может быть уникален. Важно понимать причины низкой производительности и применять соответствующие техники для улучшения.
Ускорение SQL запросов в MySQL может быть достигнуто следующими способами:
1. Индексы: использование индексов может ускорить поиск и сортировку данных в ваших таблицах.
2. Оптимизация структуры таблиц: важно убедиться, что структура таблиц оптимизирована для выполнения запросов.
3. Оптимизация запросов: проверьте ваши запросы на оптимизацию, убедитесь, что вы используете правильные операторы JOIN и индексы для улучшения производительности.
4. Кэширование данных: использование кэширования данных может ускорить выполнение повторяющихся запросов.
5. Использование представлений: использование представлений может упростить запросы и улучшить их читаемость.
6. Ограничение размера выборки: используйте оператор LIMIT, чтобы выбрать только необходимые данные, это уменьшит время выполнения запроса.
7. Минимизация дубликатов данных: дубликаты данных могут увеличить размер таблицы и уменьшить производительность запросов. Удаляйте дубликаты данных или используйте оптимизированные структуры данных, такие как нормализованные таблицы.
8. Оптимизация памяти: оптимизируйте использование памяти вашей базы данных, чтобы уменьшить время обработки запросов.
9. Мониторинг производительности: важен для определения причин низкой производительности и для поиска способов ее улучшения. Он включает в себя слежение за показателями, такими как загруженность процессора, использование памяти, время ответа на запросы и т. д.
10. Использование индексов: используйте индексы, чтобы ускорить поиск данных в таблице. Обеспечьте, чтобы ваши индексы были актуальными и эффективными.
11. Оптимизация объединений: используйте оптимальные методы объединения, такие как внутреннее или внешнее объединение, чтобы ускорить выполнение запросов.
12. Использование хранимых процедур: хранимые процедуры могут ускорить выполнение повторяющихся запросов.
13. Использование кеширования: используйте кеширование, чтобы ускорить выполнение запросов и уменьшить нагрузку на базу данных.
14. Оптимизация конфигурации сервера: оптимизируйте конфигурацию сервера, такую как количество памяти и число потоков, чтобы улучшить производительность базы данных.
15. Оптимизация структуры таблиц: периодически оценивайте структуру таблиц и выполняйте необходимые изменения, чтобы улучшить производительность.
16. Оптимизация запросов: проверяйте и оптимизируйте свои SQL-запросы, чтобы улучшить их производительность.
17. Ограничение данных: ограничивайте количество возвращаемых данных, чтобы улучшить производительность.
18. Мониторинг производительности: мониторинг производительности поможет вам выявить проблемы и найти способы их устранения.
19. Обновление ПО: регулярно обновляйте ПО, используемое вашей базой данных, чтобы воспользоваться последними улучшениями производительности.
20. Использование индексов: правильное использование индексов может существенно улучшить производительность SQL-запросов.
Обратите внимание, что нет единого решения для улучшения производительности SQL-запросов, и каждый случай может быть уникален. Важно понимать причины низкой производительности и применять соответствующие техники для улучшения.
👍4
Все перечисленные ключевые слова относятся к DML (Data Manipulation Language): INSERT, CREATE, DELETE, UPDATE.
Anonymous Quiz
51%
Да
40%
Нет
9%
Узнать ответ
👍6🎄2
Dolt — первая в мире база данных SQL с контролем версий.
Для достижения этой цели Dolt использует Prolly Tree-хранилище схемы и данных, представленных в виде графа. Таким образом достигается контроль версий базы данных на уровне хранилища.
Контроль версий БД в стиле Git предоставляет ряд полезных фичей:
— Мгновенный откат к любому предыдущему состоянию
— Полный журнал аудита с возможностью запроса, содержащий все данные с момента их создания.
— Несколько развивающихся ветвей данных
— Возможность объединения ветвей данных
— Быстрая синхронизация с удаленными версиями для резервного копирования или децентрализованной совместной работы.
— Запрашиваемые различия (т. е. различия) между версиями
Механизм хранения Dolt построен на графе коммитов Prolly Trees в стиле Git. Схема таблицы и данные хранятся в Prolly Trees. Корни этих деревьев Prolly вместе с другими метаданными хранятся в графе коммитов, чтобы обеспечить контроль версий в стиле Git.
Подробнее можно почитать на официальной страничке
Github
Для достижения этой цели Dolt использует Prolly Tree-хранилище схемы и данных, представленных в виде графа. Таким образом достигается контроль версий базы данных на уровне хранилища.
Контроль версий БД в стиле Git предоставляет ряд полезных фичей:
— Мгновенный откат к любому предыдущему состоянию
— Полный журнал аудита с возможностью запроса, содержащий все данные с момента их создания.
— Несколько развивающихся ветвей данных
— Возможность объединения ветвей данных
— Быстрая синхронизация с удаленными версиями для резервного копирования или децентрализованной совместной работы.
— Запрашиваемые различия (т. е. различия) между версиями
Механизм хранения Dolt построен на графе коммитов Prolly Trees в стиле Git. Схема таблицы и данные хранятся в Prolly Trees. Корни этих деревьев Prolly вместе с другими метаданными хранятся в графе коммитов, чтобы обеспечить контроль версий в стиле Git.
Подробнее можно почитать на официальной страничке
Github
👍5❤1
Какой запрос выбирает все записи из таблицы person, в которой значения поля name начинаются с An? (MySQL)
Anonymous Quiz
4%
SELECT * FROM person WHERE name LIKE 'An//';
80%
SELECT * FROM person WHERE name LIKE 'An%';
5%
SELECT * FROM person WHERE name LIKE 'An';
9%
SELECT * FROM person WHERE name 'An%';
2%
Посмотреть ответ
👍12
К какому результату приведет выполнение запроса DROP DATABASE Addresses?
Anonymous Quiz
16%
Удаление таблицы «Addresses» из текущей базы данных
77%
Полное удаление базы данных «Addresses»
3%
Блокировка на внесение изменений в базу данных «Addresses»
3%
Посмотреть ответ
👍13
Что вернет запрос?
SELECT Customers.*, Orders.* FROM Customers LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID ORDER BY Customers.CustomerName;
SELECT Customers.*, Orders.* FROM Customers LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID ORDER BY Customers.CustomerName;
Anonymous Quiz
16%
Будут выбраны все клиенты и все заказы
63%
Будут выбраны все клиенты и любые заказы, которые они могут иметь
14%
Будут выбраны все заказы и любые клиенты, которые их опратили
7%
Посмотреть ответ
👍6
StarRocks — высокопроизводительная БД для аналитики
StarRocks, проект Linux Foundation, — это база данных MPP OLAP нового поколения с быстрой обработкой данных для сложных аналитических кейсов, включая многомерную аналитику, аналитику в реальном времени и не только.
Быстрый старт с помощью Docker:
🖥 GitHub
📔 Доки
StarRocks, проект Linux Foundation, — это база данных MPP OLAP нового поколения с быстрой обработкой данных для сложных аналитических кейсов, включая многомерную аналитику, аналитику в реальном времени и не только.
Быстрый старт с помощью Docker:
docker run -p 9030:9030 -p 8030:8030 -p 8040:8040 -itd \
--name quickstart starrocks/allin1-ubuntu
📔 Доки
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Напишите запрос для выборки всех адресов Москвы из таблицы «Addresses»
Anonymous Quiz
15%
SELECT Addresses WHERE City=”Moscow”
4%
SELECT City=”Moscow” FROM Addresses
80%
SELECT * FROM Addresses WHERE City=”Moscow”
1%
Посмотреть ответ
👍9🎄3🔥1
Собственно, об этом и идёт речь в статье.
/contrib/. Во-вторых, pg_proc.dat является удобной точкой входа для изучения внутренностей PostgreSQL. Также файл бывает полезен, когда вы примерно понимаете, какую функцию ищите, но не знаете ее название.Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Как очень быстро получить количество записей в большой таблице?
Применение: отображение общего кол-ва записей в админках.
Применение: отображение общего кол-ва записей в админках.
-- возвращает точное количество записей, но медленно
select count(*) as exact_count from table_name;
-- возвращает приблизительное количество записей, но быстро
-- точность больше, чем в следующем запросе, но от БД требуется актуальная статистика по таблице
select reltuples::bigint as estimate_count
from pg_class
where oid = 'public.table_name'::regclass;
-- возвращает приблизительное количество записей, но быстро
-- точность меньше, чем в предыдущем запросе, но от БД не требуется актуальная статистика по таблице
-- преимущество этого подхода в том, что можно задавать условие выборки
select 100 * count(*) as estimate_count
from table_name tablesample system (1)
where ...;👍4
Нереально полезная подборка SQL-запросов, количество запросов вы и сами видите, это покрывает большую часть того, что может встретиться в практике
В том числе здесь:
record и NULL и способы быстрого получения количества записей в большой таблицеUPSERT) и журналирование изменений таблицыDDL) и способы добавления ограничений таблицы и изменения ограничений внешнего ключа без блокирования таблицыPlease open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥2
Выберите корректно составленный запрос с функцией GROUP BY:
Anonymous Quiz
90%
select seller_id, count(*) from Orders GROUP BY seller_id;
5%
select count(*) from Orders GROUP seller_id;
4%
select count(*) from Orders GROUP ON seller_id;
2%
Посмотреть ответ
👍11😱2