Я пытаюсь разобраться с некоторыми очень сложными SQL-запросами в MySQL (может варьироваться от вложенных запросов, коррелированных подзапросов, группировки групп, временных таблиц и самосоединений). Они часто очень большие и очень сложные.Стратегии для понимания сложных операторов SQL SELECT
Недавно я думал о том, как попытаться улучшить то, как я это делаю. Иногда я пытаюсь думать, как одна запись будет включена в набор данных и последует за тем, как ключи объединяют таблицы. В других случаях я думаю о всей таблице соединений и мысленно отделяю строки в соответствии с ограничениями WHERE
.
Стоит ли рассматривать реляционную алгебру, чтобы понять, что происходит?
Итак, какие стратегии вы используете для анализа больших сложных SQL-запросов?
Возможно, я просто тупой, но я склонен думать, что сложные запросы - это плохие запросы. FWIW, я почти никогда не использую коррелированные подзапросы и группировку конкатенаций. Я не знаю, что такое временная таблица. – Strawberry