Created
April 12, 2012 16:33
-
-
Save workmaster2n/2368906 to your computer and use it in GitHub Desktop.
Confused as to the difference in speeds of these 2 queries
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
28,444 records | |
mysql> SHOW CREATE TABLE accounts\G | |
*************************** 1. row *************************** | |
Table: accounts | |
Create Table: CREATE TABLE `accounts` ( | |
`id` int(11) NOT NULL AUTO_INCREMENT, | |
`AccountId` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`AccountIdTemp` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`HighSchoolTempId` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`IsActive` tinyint(1) DEFAULT NULL, | |
`IsVisible` tinyint(1) DEFAULT NULL, | |
`IsPaidAd` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`boolean` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`Name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`CommonName` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`ShortName` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`AbbreviatedName` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`OtherName` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`NickName` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`FemaleNickName` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`KeywordAlias` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`AccountTypeId` int(11) DEFAULT NULL, | |
`TribuneName` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`Division` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`ConferenceId` int(11) DEFAULT NULL, | |
`Address` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`AddressLine2` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`City` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`State` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`Zip` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`Zip4` int(11) DEFAULT NULL, | |
`Country` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`Website` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`VideoLink` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`SiteProvider` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`VideoProvider` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`Latitude` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`Longitude` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`TimeZone` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`Colors` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`Logo` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`LogoImage` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`MonthlyFee` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`AnnualFee` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`RadioStation` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`TVStation` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`TicketOfficeLink` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`TicketOfficePhone` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`DST` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`Mascot` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`NCES_PSS_Id` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`County` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`CountyFipsId` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`Phone` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`PublicSchool` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`LocaleCode` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`NumberOfStudents` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`Enrollment_9to12` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`MaleStudents` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`FemaleStudents` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`Coed` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`LowestGradeLevel` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`HighestGradeLevel` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`Title1` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`SchoolType` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`SEC_Comb` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`Affiliation` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`SearchSortorder` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`CreationDate` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`CreatedBy` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`LastModifiedDate` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`LastModifiedBy` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`CompName` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`Show` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`created_at` datetime NOT NULL, | |
`updated_at` datetime NOT NULL, | |
PRIMARY KEY (`id`), | |
KEY `AccountId` (`AccountId`), | |
KEY `Name` (`Name`), | |
KEY `id_name` (`id`,`Name`) | |
) ENGINE=InnoDB AUTO_INCREMENT=28445 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
246,544 records | |
mysql> SHOW CREATE TABLE players\G | |
*************************** 1. row *************************** | |
Table: players | |
Create Table: CREATE TABLE `players` ( | |
`id` int(11) NOT NULL AUTO_INCREMENT, | |
`IsActive` tinyint(1) DEFAULT NULL, | |
`IsVisible` tinyint(1) DEFAULT NULL, | |
`FirstName` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`LastName` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`HeightFeet` int(11) DEFAULT NULL, | |
`HeightInches` int(11) DEFAULT NULL, | |
`Weight` int(11) DEFAULT NULL, | |
`Birthday` date DEFAULT NULL, | |
`Gender` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`HometownCity` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`HometownState` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`HometownZip` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`HometownCountry` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`HighSchoolId` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`HighSchoolIdTemp` int(11) DEFAULT NULL, | |
`HighSchoolGradYear` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`CollegeYear` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`Redshirted` tinyint(1) DEFAULT NULL, | |
`Transferred` tinyint(1) DEFAULT NULL, | |
`CollegeId` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`CollegeIdTemp` int(11) DEFAULT NULL, | |
`CollegeGradYear` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`OtherAccountId` int(11) DEFAULT NULL, | |
`PreviousCollegeId` int(11) DEFAULT NULL, | |
`CurrentTeamId` int(11) DEFAULT NULL, | |
`LateralRecommendationReason` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`LateralRecommendationLink` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`CreationDate` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`CreatedBy` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`LastModifiedDate` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`LastModifiedBy` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`TwitterLink` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`FacebookLink` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`PersonalWebsite` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`PlayerImage` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`FirstNameNickName` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`NeulionID` int(11) DEFAULT NULL, | |
`OtherTeamID` int(11) DEFAULT NULL, | |
`OtherSportTypeID` int(11) DEFAULT NULL, | |
`SourceDataTypeID` int(11) DEFAULT NULL, | |
`PlayerTypeID` int(11) DEFAULT NULL, | |
`LoadID` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`SameNameTeammate` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`SameNameSchoolMate` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`SD_SportID` int(11) DEFAULT NULL, | |
`SD_PlayerID` int(11) DEFAULT NULL, | |
`ZeroNCAAStats` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`ModifiedByPythonGame` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`Missing2011` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`Transfer2011` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`RecruitingClass` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`created_at` datetime NOT NULL, | |
`updated_at` datetime NOT NULL, | |
PRIMARY KEY (`id`), | |
KEY `FirstName` (`FirstName`), | |
KEY `LastNAme` (`LastName`), | |
KEY `CollegeYear` (`CollegeYear`) | |
) ENGINE=InnoDB AUTO_INCREMENT=251770 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
mysql> SHOW CREATE TABLE players_to_teams\G | |
*************************** 1. row *************************** | |
Table: players_to_teams | |
Create Table: CREATE TABLE `players_to_teams` ( | |
`id` int(11) NOT NULL AUTO_INCREMENT, | |
`IsActive` tinyint(1) DEFAULT NULL, | |
`IsVisible` tinyint(1) DEFAULT NULL, | |
`player_id` int(11) DEFAULT NULL, | |
`team_id` int(11) DEFAULT NULL, | |
`CreationDate` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`Position` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`Number` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`Club` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`BT` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`BioLink` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`OtherBioLink` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`StartYear` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`EndYear` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`NeulionPlayerID` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`SeasonYear` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`GamesPlayed` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, | |
`created_at` datetime NOT NULL, | |
`updated_at` datetime NOT NULL, | |
`account_id` int(11) DEFAULT NULL, | |
PRIMARY KEY (`id`), | |
KEY `FK_players_to_teams_player` (`player_id`), | |
KEY `FK_players_to_teams_team` (`team_id`), | |
KEY `Position` (`Position`), | |
KEY `FK_players_to_teams_account_id` (`account_id`), | |
CONSTRAINT `FK_players_to_teams_account_id` FOREIGN KEY (`account_id`) REFERENCES `accounts` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, | |
CONSTRAINT `FK_players_to_teams_player` FOREIGN KEY (`player_id`) REFERENCES `players` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, | |
CONSTRAINT `FK_players_to_teams_team` FOREIGN KEY (`team_id`) REFERENCES `teams` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION | |
) ENGINE=InnoDB AUTO_INCREMENT=256003 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci | |
1 row in set (0.00 sec) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
mysql> EXPLAIN EXTENDED SELECT | |
-> players_to_teams.id | |
-> FROM | |
-> players_to_teams | |
-> INNER JOIN | |
-> accounts ON accounts.id = players_to_teams.account_id | |
-> ORDER BY accounts.Name \G | |
*************************** 1. row *************************** | |
id: 1 | |
select_type: SIMPLE | |
table: players_to_teams | |
type: index | |
possible_keys: FK_players_to_teams_account_id | |
key: FK_players_to_teams_account_id | |
key_len: 5 | |
ref: NULL | |
rows: 289424 | |
filtered: 100.00 | |
Extra: Using index; Using temporary; Using filesort | |
*************************** 2. row *************************** | |
id: 1 | |
select_type: SIMPLE | |
table: accounts | |
type: eq_ref | |
possible_keys: PRIMARY,id_name | |
key: PRIMARY | |
key_len: 4 | |
ref: mysql_development.players_to_teams.account_id | |
rows: 1 | |
filtered: 100.00 | |
Extra: | |
2 rows in set, 1 warning (0.00 sec) | |
select `mysql_development`.`players_to_teams`.`id` AS `id` from `mysql_development`.`players_to_teams` join `mysql_development`.`accounts` where (`mysql_development`.`accounts`.`id` = `mysql_development`.`players_to_teams`.`account_id`) order by `mysql_development`.`accounts`.`Name` | |
7.705 seconds to complete |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
mysql> EXPLAIN EXTENDED SELECT | |
-> players_to_teams.id | |
-> FROM | |
-> players_to_teams | |
-> INNER JOIN | |
-> players ON players.id = players_to_teams.player_id | |
-> ORDER BY players.FirstName \G | |
*************************** 1. row *************************** | |
id: 1 | |
select_type: SIMPLE | |
table: players | |
type: index | |
possible_keys: PRIMARY | |
key: FirstName | |
key_len: 768 | |
ref: NULL | |
rows: 250119 | |
filtered: 100.00 | |
Extra: Using index | |
*************************** 2. row *************************** | |
id: 1 | |
select_type: SIMPLE | |
table: players_to_teams | |
type: ref | |
possible_keys: FK_players_to_teams_player | |
key: FK_players_to_teams_player | |
key_len: 5 | |
ref: mysql_development.players.id | |
rows: 1 | |
filtered: 100.00 | |
Extra: Using where; Using index | |
select `mysql_development`.`players_to_teams`.`id` AS `id` from `mysql_development`.`players_to_teams` join `mysql_development`.`players` where (`mysql_development`.`players_to_teams`.`player_id` = `mysql_development`.`players`.`id`) order by `mysql_development`.`players`.`FirstName` | |
0.004 seconds to complete |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment