Как SQL-запрос работает? Как это становится скомпилированным? from
пункт скомпилировал сначала, чтобы видеть, существует ли таблица? Как это на самом деле получает данные из базы данных? Как и в том, какой формат является таблицами, хранимыми в базе данных?
Я использую phpmyadmin, есть ли какой-либо способ, которым я могу посмотреть в файлы, где данные хранятся? Я использую MySQL
Well...
Анализатор запросов, кстати, именно здесь вы увидите огромные различия. Не уверен насчет MySQL - SQL Server (Microsoft) сияет тем, что у него не самый лучший анализатор (но один из хороших), а тем, что у него действительно есть хорошие визуальные инструменты для того, чтобы показать план запроса, сравнить оценки анализатора с реальными потребностями (если они отличаются слишком сильно, статистика таблицы может быть смещена, поэтому анализатор считает, что большая таблица маленькая). Они представляют это хорошо визуально.
В DB2 некоторое время был отличный оптимизатор, измеряющий - я уже говорил - скорость диска, чтобы включить ее в свои оценки. Oracle долгое время работал "слева направо" (без реального анализа) и принимал подсказки запросов, предоставляемые пользователем (дерьмовый подход). Я думаю, что MySQL тоже был ОЧЕНЬ примитивным в начале - не уверен, где он сейчас.
Формат таблиц в базе данных и т.д. - это действительно то, о чем вы не должны заботиться. Это документировано (очевидно, особенно для базы данных с открытым исходным кодом), но почему вас это должно волновать? Я занимаюсь SQL почти 15 лет или около того и никогда не испытывал такой необходимости. И это при том, что в некоторых областях я выполнял довольно высококлассную работу. Если только вы не пытаетесь создать инструмент для ремонта файлов баз данных...., то нет смысла беспокоиться.