Локальные и глобальные временные таблицы, в чем разница?
1. Локальные временные таблицы создаются с помощью ключевого слова # перед именем таблицы. Они видны только в рамках текущей сессии соединения и уничтожаются после завершения сессии.
2. Глобальные временные таблицы создаются с помощью ключевого слова ## перед именем таблицы. Они видны всем сеансам подключения и уничтожаются после того, как последний сеанс закроется.
Еще одно отличие заключается в том, что глобальные таблицы могут использоваться для обмена данными между сеансами подключения.
Скорость работы локальных временных таблиц выше, чем у глобальных временных таблиц, поскольку они не создаются в tempdb, как глобальные таблицы.
1. Локальные временные таблицы создаются с помощью ключевого слова # перед именем таблицы. Они видны только в рамках текущей сессии соединения и уничтожаются после завершения сессии.
2. Глобальные временные таблицы создаются с помощью ключевого слова ## перед именем таблицы. Они видны всем сеансам подключения и уничтожаются после того, как последний сеанс закроется.
Еще одно отличие заключается в том, что глобальные таблицы могут использоваться для обмена данными между сеансами подключения.
Скорость работы локальных временных таблиц выше, чем у глобальных временных таблиц, поскольку они не создаются в tempdb, как глобальные таблицы.
👍8🔥2
Что делает ASCII в SQL?
ASCII - это стандартный кодировочный набор, который используется для представления символов на компьютерах. В SQL, ASCII код используется для представления символов в виде чисел.
1. Функция ASCII в SQL возвращает ASCII код первого символа в строке. Например, функция ASCII('A') вернет 65, так как ASCII код для буквы 'A' равен 65.
2. Вы также можете использовать ASCII код для выполнения операций сравнения символов
Также есть функция CHAR, которая преобразует ASCII код в символ. Например, функция CHAR(65) вернет символ 'A'.
Некоторые другие полезные функции, связанные с ASCII в SQL, включают функции ASCII_LOWER и ASCII_UPPER, которые преобразуют символы в нижний и верхний регистр соответственно.
ASCII - это стандартный кодировочный набор, который используется для представления символов на компьютерах. В SQL, ASCII код используется для представления символов в виде чисел.
1. Функция ASCII в SQL возвращает ASCII код первого символа в строке. Например, функция ASCII('A') вернет 65, так как ASCII код для буквы 'A' равен 65.
2. Вы также можете использовать ASCII код для выполнения операций сравнения символов
Также есть функция CHAR, которая преобразует ASCII код в символ. Например, функция CHAR(65) вернет символ 'A'.
Некоторые другие полезные функции, связанные с ASCII в SQL, включают функции ASCII_LOWER и ASCII_UPPER, которые преобразуют символы в нижний и верхний регистр соответственно.
👍9
Псевдонимы SQL: что это и как использовать?
Что такое псевдонимы SQL
Псевдоним SQL - это временное имя, которое вы можете присвоить таблице или столбцу в вашем запросе. Он не заменяет оригинальное имя, но позволяет вам ссылаться на него по другому имени в вашем запросе.
Как использовать псевдонимы SQL
1. Для создания псевдонима в SQL используется ключевое слово "AS". Вы можете присвоить псевдоним таблице или столбцу, используя синтаксис №1
2. Вы можете также использовать псевдоним для таблицы, используя синтаксис №2
Что такое псевдонимы SQL
Псевдоним SQL - это временное имя, которое вы можете присвоить таблице или столбцу в вашем запросе. Он не заменяет оригинальное имя, но позволяет вам ссылаться на него по другому имени в вашем запросе.
Как использовать псевдонимы SQL
1. Для создания псевдонима в SQL используется ключевое слово "AS". Вы можете присвоить псевдоним таблице или столбцу, используя синтаксис №1
2. Вы можете также использовать псевдоним для таблицы, используя синтаксис №2
👍11🔥1
Возможно ли использование одновременно двух агрегирующих функций? Пример:
select min(price), max(price) from Orders;
select min(price), max(price) from Orders;
Anonymous Quiz
15%
Да, но данный запрос составлен неверно, надо так: select * from Orders where price IN (min, max);
57%
Да, в результате мы получим минимальную и максимальную стоимости
14%
Да, в результате мы получим стоимости, отсортированные от минимальной к максимальной
14%
Нет, две функции использовать одновременно нельзя
👍8
Функция OLD_PASSWORD и PASSWORD
OLD_PASSWORD - используется для шифрования паролей в MySQL.
Функция использует алгоритм, который был использован в более ранних версиях MySQL. Как правило, эту функцию используют для обеспечения совместимости с более старыми приложениями, которые могут не поддерживать более современные алгоритмы шифрования.
PASSWORD - используется для шифрования пароля пользователя. Она принимает единственный аргумент - строку, которую нужно зашифровать.
Шифрованный результат представляет собой строку из 41 символа, которую можно сохранить в базе данных в качестве зашифрованного пароля.
OLD_PASSWORD - используется для шифрования паролей в MySQL.
Функция использует алгоритм, который был использован в более ранних версиях MySQL. Как правило, эту функцию используют для обеспечения совместимости с более старыми приложениями, которые могут не поддерживать более современные алгоритмы шифрования.
PASSWORD - используется для шифрования пароля пользователя. Она принимает единственный аргумент - строку, которую нужно зашифровать.
Шифрованный результат представляет собой строку из 41 символа, которую можно сохранить в базе данных в качестве зашифрованного пароля.
👍3🔥1
#вопросы_с_собеседований
Как распарсить строку в SQL?
Часто возникает необходимость распарсить строку в SQL запросе, чтобы получить отдельные элементы. Существует несколько способов это сделать.
1. Использование функции SUBSTRING
Для извлечения отдельных элементов из строки можно использовать функцию SUBSTRING.
2. Использование функции CHARINDEX
Для извлечения подстроки из строки можно использовать функцию CHARINDEX.
3. Использование функции PARSENAME
Для извлечения отдельных элементов из строки, разделенных определенным символом, можно использовать функцию PARSENAME.
Как распарсить строку в SQL?
Часто возникает необходимость распарсить строку в SQL запросе, чтобы получить отдельные элементы. Существует несколько способов это сделать.
1. Использование функции SUBSTRING
Для извлечения отдельных элементов из строки можно использовать функцию SUBSTRING.
2. Использование функции CHARINDEX
Для извлечения подстроки из строки можно использовать функцию CHARINDEX.
3. Использование функции PARSENAME
Для извлечения отдельных элементов из строки, разделенных определенным символом, можно использовать функцию PARSENAME.
👍11❤1
DROP VIEW
- это оператор языка SQL, который используется для удаления (удаления) представления базы данных. Представление - это виртуальная таблица, которая не имеет физического существования в базе данных, но может быть использована для упрощения запросов к базе данных.
Чтобы удалить представление, используйте оператор DROP VIEW, за которым следует имя представления, которое нужно удалить. Пример:
DROP VIEW имя_представления;
имя_представления - то, что нужно удалить.
Использование DROP VIEW может быть полезно, если вам больше не нужно определенное представление, и вы хотите освободить место в базе данных. Однако, прежде чем удалить представление, убедитесь, что оно больше не нужно для вашей работы с базой данных.
- это оператор языка SQL, который используется для удаления (удаления) представления базы данных. Представление - это виртуальная таблица, которая не имеет физического существования в базе данных, но может быть использована для упрощения запросов к базе данных.
Чтобы удалить представление, используйте оператор DROP VIEW, за которым следует имя представления, которое нужно удалить. Пример:
DROP VIEW имя_представления;
имя_представления - то, что нужно удалить.
Использование DROP VIEW может быть полезно, если вам больше не нужно определенное представление, и вы хотите освободить место в базе данных. Однако, прежде чем удалить представление, убедитесь, что оно больше не нужно для вашей работы с базой данных.
👍7
MySQL ускорение SQL запросов
Ускорение SQL запросов в MySQL может быть достигнуто следующими способами:
1. Индексы: использование индексов может ускорить поиск и сортировку данных в ваших таблицах.
2. Оптимизация структуры таблиц: важно убедиться, что структура таблиц оптимизирована для выполнения запросов.
3. Оптимизация запросов: проверьте ваши запросы на оптимизацию, убедитесь, что вы используете правильные операторы JOIN и индексы для улучшения производительности.
4. Кэширование данных: использование кэширования данных может ускорить выполнение повторяющихся запросов.
5. Использование представлений: использование представлений может упростить запросы и улучшить их читаемость.
6. Ограничение размера выборки: используйте оператор LIMIT, чтобы выбрать только необходимые данные, это уменьшит время выполнения запроса.
7. Минимизация дубликатов данных: дубликаты данных могут увеличить размер таблицы и уменьшить производительность запросов. Удаляйте дубликаты данных или используйте оптимизированные структуры данных, такие как нормализованные таблицы.
8. Оптимизация памяти: оптимизируйте использование памяти вашей базы данных, чтобы уменьшить время обработки запросов.
9. Мониторинг производительности: важен для определения причин низкой производительности и для поиска способов ее улучшения. Он включает в себя слежение за показателями, такими как загруженность процессора, использование памяти, время ответа на запросы и т. д.
10. Использование индексов: используйте индексы, чтобы ускорить поиск данных в таблице. Обеспечьте, чтобы ваши индексы были актуальными и эффективными.
Ускорение SQL запросов в MySQL может быть достигнуто следующими способами:
1. Индексы: использование индексов может ускорить поиск и сортировку данных в ваших таблицах.
2. Оптимизация структуры таблиц: важно убедиться, что структура таблиц оптимизирована для выполнения запросов.
3. Оптимизация запросов: проверьте ваши запросы на оптимизацию, убедитесь, что вы используете правильные операторы JOIN и индексы для улучшения производительности.
4. Кэширование данных: использование кэширования данных может ускорить выполнение повторяющихся запросов.
5. Использование представлений: использование представлений может упростить запросы и улучшить их читаемость.
6. Ограничение размера выборки: используйте оператор LIMIT, чтобы выбрать только необходимые данные, это уменьшит время выполнения запроса.
7. Минимизация дубликатов данных: дубликаты данных могут увеличить размер таблицы и уменьшить производительность запросов. Удаляйте дубликаты данных или используйте оптимизированные структуры данных, такие как нормализованные таблицы.
8. Оптимизация памяти: оптимизируйте использование памяти вашей базы данных, чтобы уменьшить время обработки запросов.
9. Мониторинг производительности: важен для определения причин низкой производительности и для поиска способов ее улучшения. Он включает в себя слежение за показателями, такими как загруженность процессора, использование памяти, время ответа на запросы и т. д.
10. Использование индексов: используйте индексы, чтобы ускорить поиск данных в таблице. Обеспечьте, чтобы ваши индексы были актуальными и эффективными.
👍5🔥1
Join Hints в T-SQL
Хинт (hint) – это указание оптимизатору запросов, которое переопределяет его поведение по умолчанию на время выполнения SQL инструкции.
С помощью Join Hints мы можем влиять на выбор алгоритма физического соединения таблиц.
Существуют следующие хинты:
LOOP – указывает, что соединение будет выполнено с помощью алгоритма Nested Loops (вложенные циклы);
HASH – указывает, что соединение будет выполнено с помощью алгоритма Hash Match (хэш-соединение);
MERGE – указывает, что соединение будет выполнено с помощью алгоритма Merge (соединение слиянием);
REMOTE – указывает, что соединение будет выполнено на стороне правой таблицы, если она расположена удаленно. Обычно это используется, когда таблица слева является локальной, а таблица справа удаленной и в ней гораздо больше строк, чем в левой таблице.
Правила:
1. Если правая таблица является локальной, соединение выполняется локально;
2. Если обе таблицы являются удаленными, но из разных источников данных, REMOTE вызывает выполнение соединения на стороне правой таблицы;
3. Если обе таблицы являются удаленными таблицами из одного источника данных, REMOTE не требуется;
4. Аргумент REMOTE может быть использован только при операциях INNER JOIN.
Хинт (hint) – это указание оптимизатору запросов, которое переопределяет его поведение по умолчанию на время выполнения SQL инструкции.
С помощью Join Hints мы можем влиять на выбор алгоритма физического соединения таблиц.
Существуют следующие хинты:
LOOP – указывает, что соединение будет выполнено с помощью алгоритма Nested Loops (вложенные циклы);
HASH – указывает, что соединение будет выполнено с помощью алгоритма Hash Match (хэш-соединение);
MERGE – указывает, что соединение будет выполнено с помощью алгоритма Merge (соединение слиянием);
REMOTE – указывает, что соединение будет выполнено на стороне правой таблицы, если она расположена удаленно. Обычно это используется, когда таблица слева является локальной, а таблица справа удаленной и в ней гораздо больше строк, чем в левой таблице.
Правила:
1. Если правая таблица является локальной, соединение выполняется локально;
2. Если обе таблицы являются удаленными, но из разных источников данных, REMOTE вызывает выполнение соединения на стороне правой таблицы;
3. Если обе таблицы являются удаленными таблицами из одного источника данных, REMOTE не требуется;
4. Аргумент REMOTE может быть использован только при операциях INNER JOIN.
👍5
#вопросы_с_собеседований
Почему стоит пользоваться PDO для работы с базой данных?
Безопасность
PDO предоставляет встроенные механизмы защиты от SQL-инъекций, которые являются одним из наиболее распространенных способов взлома веб-приложений. Использование подготовленных запросов в PDO позволяет избежать SQL-инъекций и значительно повысить безопасность вашего приложения.
Поддержка нескольких типов баз данных
PDO обеспечивает унифицированный API для работы с различными типами баз данных, такими как MySQL, PostgreSQL, SQLite и др. Это означает, что вы можете использовать один и тот же код для работы с разными базами данных без необходимости переписывать его для каждой отдельной базы данных.
Повторное использование кода
PDO позволяет повторно использовать код благодаря использованию параметров. Вы можете создать один раз запрос, а затем использовать его многократно с разными параметрами. Это гораздо удобнее, чем писать отдельные запросы для каждого случая.
Почему стоит пользоваться PDO для работы с базой данных?
Безопасность
PDO предоставляет встроенные механизмы защиты от SQL-инъекций, которые являются одним из наиболее распространенных способов взлома веб-приложений. Использование подготовленных запросов в PDO позволяет избежать SQL-инъекций и значительно повысить безопасность вашего приложения.
Поддержка нескольких типов баз данных
PDO обеспечивает унифицированный API для работы с различными типами баз данных, такими как MySQL, PostgreSQL, SQLite и др. Это означает, что вы можете использовать один и тот же код для работы с разными базами данных без необходимости переписывать его для каждой отдельной базы данных.
Повторное использование кода
PDO позволяет повторно использовать код благодаря использованию параметров. Вы можете создать один раз запрос, а затем использовать его многократно с разными параметрами. Это гораздо удобнее, чем писать отдельные запросы для каждого случая.
👍3