Suppose I have two tables:
CREATE TABLE `doctors` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`clinic_id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
CREATE TABLE `clinics` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
The next queries returns the same data but for large tables wich is better for performance?
Query with INNER JOIN
SELECT
doctors.* FROMdoctorsINNER JOINclinicsONclinics.id=doctors.clinic_idWHEREclinics.id= 1;Query only with WHERE
SELECT
doctors.* FROMdoctorsWHEREdoctors.clinic_id= 1;