I'm creating a report based on user input (i.e. a search tool) that grabs data from eight tables and will output them to the screen.
Here are the create table statements. I'm very aware of how badly some of these tables were made, but I don't have the option of changing them any time soon.
CREATE TABLE `exp_z_srs_tickets` (
`id` bigint(25) unsigned NOT NULL AUTO_INCREMENT COMMENT 'e.g. 1',
`srs_id` bigint(20) NOT NULL COMMENT 'e.g. 250; i.e. Ticket ''title''',
`status` int(5) NOT NULL COMMENT 'e.g. draft, approved, rejected, saved',
`position` int(5) NOT NULL,
`wfrl1` int(5) NOT NULL COMMENT 'e.g. consult, workflow, report',
`wfrl2` int(5) NOT NULL COMMENT 'e.g. revision',
`wfrl3` int(5) NOT NULL,
`home_dept_cd` varchar(50) CHARACTER SET latin1 NOT NULL COMMENT 'e.g. 071234',
`target_eid` varchar(9) CHARACTER SET latin1 DEFAULT NULL,
`updated_by_eid` varchar(9) CHARACTER SET latin1 NOT NULL DEFAULT '0',
`date` datetime NOT NULL COMMENT 'e.g. 2013-02-22 14:39',
`date_unix` varchar(10) CHARACTER SET latin1 NOT NULL,
`transx` varchar(50) CHARACTER SET latin1 NOT NULL,
PRIMARY KEY (`id`),
KEY `srs_id` (`srs_id`),
KEY `status` (`status`),
KEY `position` (`position`),
KEY `wfrl3` (`wfrl3`),
KEY `wfrl2` (`wfrl2`)
) ENGINE=InnoDB AUTO_INCREMENT=269059 DEFAULT CHARSET=utf8
CREATE TABLE `exp_z_srs_ticket_meta` (
`id` bigint(30) unsigned NOT NULL AUTO_INCREMENT,
`srs_id` bigint(25) unsigned NOT NULL,
`version_id` bigint(25) unsigned NOT NULL,
`meta_key` varchar(85) CHARACTER SET latin1 NOT NULL,
`meta_value` longtext CHARACTER SET latin1 NOT NULL,
`updated_unix` varchar(10) CHARACTER SET latin1 NOT NULL,
`updated` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `meta_key` (`meta_key`),
KEY `srs_id` (`srs_id`)
) ENGINE=InnoDB AUTO_INCREMENT=739901 DEFAULT CHARSET=utf8
CREATE TABLE `exp_z_dept_assign` (
`LER` varchar(9) DEFAULT NULL,
`LER_2` varchar(9) DEFAULT NULL,
`SC` varchar(9) DEFAULT NULL,
`CSR` varchar(9) DEFAULT NULL,
`CSR_2` varchar(9) DEFAULT NULL,
`BFTS` varchar(9) DEFAULT NULL,
`DMS` varchar(9) DEFAULT NULL,
`FSAP` varchar(9) DEFAULT NULL,
`SC_2` varchar(9) DEFAULT NULL,
`ISS` varchar(9) DEFAULT NULL,
`MSO` varchar(9) DEFAULT NULL,
`MSO_2` varchar(9) DEFAULT NULL,
`DEPT_HR` varchar(9) DEFAULT NULL,
`DEPT_HR_2` varchar(9) DEFAULT NULL,
`DEPT_HR_3` varchar(9) DEFAULT NULL,
`DEPT_GME_F` varchar(9) DEFAULT NULL,
`DEPT_GME_R` varchar(9) DEFAULT NULL,
`DEPT_FIN` varchar(50) DEFAULT NULL,
`DEPT_PAYROLL` varchar(9) DEFAULT NULL,
`AA_UNIT` varchar(4) DEFAULT NULL,
`LEVEL_2_DEPT_CD` varchar(8) DEFAULT NULL,
`LEVEL_2_DEPT_TITLE` varchar(60) DEFAULT NULL,
`LEVEL_3_DEPT_CD` varchar(8) DEFAULT NULL,
`LEVEL_3_DEPT_TITLE` varchar(60) DEFAULT NULL,
`LEVEL_4_DEPT_CD` varchar(8) DEFAULT NULL,
`LEVEL_4_DEPT_TITLE` varchar(60) DEFAULT NULL,
`LEVEL_5_DEPT_CD` varchar(8) DEFAULT NULL,
`LEVEL_5_DEPT_TITLE` varchar(60) DEFAULT NULL,
`LEVEL_6_DEPT_CD` varchar(8) DEFAULT NULL,
`LEVEL_6_DEPT_TITLE` varchar(60) DEFAULT NULL,
`LEVEL_7_DEPT_CD` varchar(8) DEFAULT NULL,
`LEVEL_7_DEPT_TITLE` varchar(60) DEFAULT NULL,
`DEPT_CD` varchar(8) DEFAULT NULL,
`DEPT_TITLE` varchar(60) DEFAULT NULL,
`CountOfEMPLOYEE_ID` int(11) DEFAULT NULL,
`DEPT_ORG_UNIT` varchar(4) DEFAULT NULL,
`DEPT_ORG_UNIT_TITLE` varchar(60) DEFAULT NULL,
`LAYOFF_UNIT` varchar(100) DEFAULT NULL,
`CLUSTER` varchar(1) DEFAULT NULL,
`DEPT_CD_LEVEL` varchar(20) DEFAULT NULL,
`date_modified` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
UNIQUE KEY `LEVEL_2_DEPT_CD` (`LEVEL_2_DEPT_CD`,`DEPT_CD`,`DEPT_TITLE`) USING BTREE,
UNIQUE KEY `LER` (`LER`,`DEPT_CD`) USING BTREE,
UNIQUE KEY `SC` (`SC`,`DEPT_CD`) USING BTREE,
UNIQUE KEY `CSR` (`CSR`,`DEPT_CD`) USING BTREE,
UNIQUE KEY `DMS` (`DMS`,`DEPT_CD`) USING BTREE,
UNIQUE KEY `SC_2` (`SC_2`,`DEPT_CD`) USING BTREE,
UNIQUE KEY `DEPT_CD` (`DEPT_CD`) USING BTREE,
UNIQUE KEY `MSO` (`MSO`,`DEPT_CD`) USING BTREE,
UNIQUE KEY `DEPT_HR` (`DEPT_HR`,`DEPT_CD`) USING BTREE,
UNIQUE KEY `MSO_2` (`MSO_2`,`DEPT_CD`) USING BTREE,
UNIQUE KEY `DEPT_HR_2` (`DEPT_HR_2`,`DEPT_CD`) USING BTREE,
UNIQUE KEY `DEPT_HR_3` (`DEPT_HR_3`,`DEPT_CD`) USING BTREE,
UNIQUE KEY `DEPT_GME_F` (`DEPT_GME_F`,`DEPT_CD`) USING BTREE,
UNIQUE KEY `LER_2` (`LER_2`,`DEPT_CD`) USING BTREE,
KEY `ISS` (`ISS`) USING BTREE,
KEY `LEVEL_3_DEPT_CD` (`LEVEL_3_DEPT_CD`) USING BTREE,
KEY `DEPT_CD_key` (`DEPT_CD`) USING BTREE,
KEY `DEPT_TITLE` (`DEPT_TITLE`) USING BTREE,
KEY `CLUSTER` (`CLUSTER`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
CREATE TABLE `exp_z_srs_ticket_role_meta` (
`id` bigint(25) NOT NULL AUTO_INCREMENT,
`srs_id` bigint(25) unsigned NOT NULL,
`version_id` bigint(5) unsigned NOT NULL DEFAULT '1',
`role` varchar(255) CHARACTER SET latin1 NOT NULL,
`eid` varchar(10) CHARACTER SET latin1 NOT NULL,
`updated` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
KEY `srs_id` (`srs_id`),
KEY `role` (`role`),
KEY `eid` (`eid`)
) ENGINE=InnoDB AUTO_INCREMENT=650763 DEFAULT CHARSET=utf8
CREATE TABLE `exp_z_srs_tix_status` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1
CREATE TABLE `exp_z_srs_tix_position` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`group` int(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1
CREATE TABLE `exp_z_srs_users` (
`id` bigint(10) NOT NULL AUTO_INCREMENT,
`eid` varchar(9) CHARACTER SET latin1 NOT NULL,
`name` varchar(100) CHARACTER SET latin1 DEFAULT NULL,
`email` varchar(100) CHARACTER SET latin1 DEFAULT NULL,
`home_dept_code` varchar(6) CHARACTER SET latin1 DEFAULT NULL,
`status` varchar(1) CHARACTER SET latin1 DEFAULT NULL,
`last_login` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
`supervisor_eid` varchar(9) CHARACTER SET latin1 DEFAULT NULL,
`last_activity` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `home_dept_code` (`home_dept_code`),
KEY `supervisor_eid` (`supervisor_eid`),
KEY `eid` (`eid`)
) ENGINE=InnoDB AUTO_INCREMENT=56309 DEFAULT CHARSET=utf8
CREATE TABLE `exp_z_srs_transaction_types` (
`id` bigint(10) NOT NULL AUTO_INCREMENT,
`key` varchar(25) DEFAULT NULL,
`value` longtext,
`date_modified` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
`child_of` bigint(20) DEFAULT NULL,
`menu_index` int(10) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=89 DEFAULT CHARSET=latin1
Here is the query. Note, it contains a MASSIVE in statement. This is generated based on user input and will be changed in the future. It slows things down a bit, but not as much as some of the joins are.
select t.srs_id, t.status, t.position, t.wfrl2, t.wfrl3, t.home_dept_cd, t.updated_by_eid, t.date, t.date_unix,
ts.name as status_name,
tp.name as position_name,
da.dept_title as dept_name, da.cluster as service_center,
tm1.meta_value as form_type,
tm2.meta_value as target_employee_name,
tm3.meta_value as target_eid,
trm1.eid as initiator_eid,
trm2.eid as approver_eid,
u1.name as target_name,
u2.name as initiator_name,
u3.name as approver_name,
tt.value as transaction_type
from exp_z_srs_tickets t
join (
select max( id ) as id from exp_z_srs_tickets group by srs_id order by srs_id desc
) tj on tj.id = t.id
join exp_z_srs_tix_status ts on ts.id = t.status
join exp_z_srs_tix_position tp on tp.id = t.position
join exp_z_dept_assign da on da.dept_cd = t.home_dept_cd
left join (
select srs_id, meta_key, meta_value, max( version_id ) as version_id
from exp_z_srs_ticket_meta
where meta_key = 'rqst_category'
group by srs_id
) tm1 on tm1.srs_id = t.srs_id
left join (
select srs_id, meta_key, meta_value, max( version_id ) as version_id
from exp_z_srs_ticket_meta
where meta_key = 'target_employee_name'
group by srs_id
) tm2 on tm2.srs_id = t.srs_id
left join (
select srs_id, meta_key, meta_value, max( version_id ) as version_id
from exp_z_srs_ticket_meta
where meta_key = 'target_eid'
group by srs_id
) tm3 on tm3.srs_id = t.srs_id
join exp_z_srs_ticket_role_meta trm1 on trm1.srs_id = t.srs_id and trm1.role = 'Initiator'
join exp_z_srs_ticket_role_meta trm2 on trm2.srs_id = t.srs_id and trm2.role = 'Approver'
left join exp_z_srs_users u1 on u1.eid = tm3.meta_value
left join exp_z_srs_users u2 on u2.eid = trm1.eid
left join exp_z_srs_users u3 on u3.eid = trm2.eid
left join exp_z_srs_transaction_types tt on tt.id = t.wfrl3
where 1
and t.home_dept_cd in (007940,008431,018661,023548,031673,101785,156093,407893,456777,650637,776725,779919,177613,257448,261415,268150,270593,272662,274198,276436,276908,278700,285676,327293,331698,336586,359542,359748,364493,373615,379469,382482,397154,400961,412351,425016,427443,447190,447546,448322,450461,450611,451004,452619,455260,455643,457115,468942,470421,525220,577058,603127,610930,642086,659497,706472,721133,727823,861464,899228,954186,228756,238629,241651,247584,252595,259295,528414,557392,877509,027973,549963,551441,552501,529271,529538,532837,545413,546635,548768,118811,109242,114646,117661,123921,127268,148101,155101,298323,331064,380180,460922,575997,899674,948336,981165,038989,070755,188790,231626,263468,288067,312717,355626,538706,538902,604723,612466,770847,773274,782264,850485,855006,892225,059215,178113,211176,442140,040823,127507,565221,752563,809664,106780,627673,097157,104354,156761,316697,941039,086739,133741,300846,587957,646395,816763,321716,390106,478263,510432,527497,336363,424963,479583,526835,541961,264216,276230,444380,538742,550665,742833,797427,053015,169267,276766,289182,301872,387405,618479,666005,696367,719949,938212,980460,035232,070461,161176,192106,211425,279255,289985,645298,649007,650183,652421,801145,890021,940334,130272,266884,279344,477638,562242,708201,836901,961463,071567,105291,142660,217492,312012,456991,513206,540365,550898,818217,979659,279399,088292,256859,320548,374696,709816,712848,726539,754213,767183,815434,838945,350863,355190,356652,467408,778698,023021,065850,083590,115949,120540,206912,273224,317801,343630,392211,420912,447207,456072,490089,588091,729064,738330,798051,847677,886599,898014,940682,953837,957110,036669,284221,301382,378754,428237,493175,623944,937730,947328,969553,996202,094285,358990,068009,157467,179274,643842,714490,741512,912882,930014,155959,281402,329754,357900,461486,466454,525836,582774,625577,638803,817824,848916,862659,888739,951474,987953,077543,185052,233376,408598,678190,701636,766095,920490,410905,567513,059616,747749,437780,048460,104764,573007,653830,812311,814328,917404,967252,026581,027624,041350,065075,119197,153176,176641,345843,457419,461850,481543,506107,530054,552798,600674,606240,617737,629270,701583,747801,799979,808166,830266,951134,955568,956594,991001,033403,053113,107342,112817,120158,137202,162102,173467,180930,204415,206967,221860,231289,280485,338931,394497,414288,417203,428004,468755,476158,478655,497616,543460,580106,652500,663972,679787,687288,769555,791441,812696,813472,839864,863532,878401,910358,948531,972157,974422,070611,102310,141876,222645,331359,424213,552020,563571,785430,989078,543521,791085,916361,985642,459417,650664,874940,031511,130405,243105,452398,479869,526345,854169,988729,162184,094882,268061,455279,457801,991804,161693,804990,883556,096540,352157,849559,306369,345674,915237,037016,053845,087792,227748,660305,782200,783094,859431,865219,945188,410353,952525,397181,876779,898256,969740,981263,086267,094784,189147,239290,252112,252443,273581,325053,370583,597884,598133,709503,712170,813720,298289,552896,875805,022996,134205,142492,201695,696296,971390,199001,207305,326365,396299,721419,952231,060454,331466,753651,876840,849309,141046,202596,275133,792654,431143,069892,161309,235613,238479,493451,962042,076820,097326,102203,102686,243025,305226,315313,357134,370930,491523,653812,710957,775263,868314,990182,113576,242650,359506,371788,124234,127632,161390,498811,529342,590006,771221,823050,989489,202408,252924,392033,415116,895534,038514,056977,135053,235506,465473,745750,767628,046015,278746,369960,670884,682238,846142,100465,182509,332214,404413,535549,636039,929507,140519,603993,711322,778377,195078,310942,347164,373768,380769,975519,019615,046569,049138,066001,072851,076599,078775,079426,084991,156075,165635,173234,328238,587476,713160,756239,111523,204406,485647,524418,023673,075420,114254,353968,584497,800743,189138,329843,461618,482098,578306,857530,246139,332651,483480,499561,830088,691219,650218,700209,540481,345665,684753,240769,513224,172967,215671,217170,221147,236131,303745,351158,453887,493059,532720,552486,598268,650888,657186,694644,699827,707738,715444,849657,886410,925048,015272,096112,132555,147601,300427,371001,433338,439528,523721,527932,629341,640104,656178,660163,682041,686056,733362,784949,880381,323359,500283,003098,024627,032770,074412,115921,181403,216509,219123,266955,276043,287843,348779,352576,413305,454458,522795,538323,551799,609470,616113,664882,701057,734922,748800,851992,866726,892626,897532,935974,959662,964969,467319,656908,255832,072600,449125,591032,641452,689133,731863,054318,528469,844288,415615,503191,933244,395389,222663,621134,198761,327836,635049,769911,466944,377684,974173,384729,009644,257279,121479,057510,329905,607212,642013,195167,008789,043973,051589,063111,064655,108467,123618,160104,169141,195835,228097,256582,258401,295503,329996,418676,419648,420440,445637,453253,463215,468504,489135,502405,559265,562331,563394,573294,581267,774950,833904,860027,903482,913248,303674,650129,671179,721614,822140,867271,969633,273545,545262,550139,746330,777154,916272,941609,188736,688376,886802,322788,555759,181029,720722,748882,029356,081752,130691,415544,460539,531400,693672,819859,845125,850332,902928,968803,158689,242856,844028,126884,184856,909253,924343,093954,252933,384499,437487,499259,575853,726370,797329,998745,009136,078702,113120,118884,290143,541300,976386,989327,031110,103989,492755,646723,115994,118615,374222,176516,348573,349894,396048,543317,666853,764774,809959,859681,948407,016912,082868,177221,475417,771613,235846,043651,187032,314190,725344,787161,873031,887758,921845,996328,177258,303255,444923,988024,988239,633504,000590,034466,146247,148218,148343,204736,457507,642674,715202,782442,787713,010794,164538,207323,210140,354280,523874,114913,477095,515160,142553,741022,125616,317142,497625,631891,410978,453903,584157,784011,812366,896695,932986,102338,276579,510977,569496,569584,725530,771953,831087,843804,926412,932012,982011,171030,310112,433276,684138,687171,758567,174670,654571,866708,897694,346762,124653,161452,478021,877144,180477,216787,428291,723319,810643,055120,290768,397984,439145,772818,519941,261576,478566,649034,662410,737983,071255,321547,615463,778322,780195,946980,462788,785056,820696,566809,638082,222501,346619,436424,327202,842681,440598,996550,370681,134624,242552,287184,374936,704223,715845,808763,915558,304441,316072,114496,365526,777573,097040,151427,337433,575274,312762,584914,903240,997559,049995,054906,300999,406331,260880,407937,435933,588304,631230,698908,491293,749006,056174,069838,113095,172921,230020,257144,283810,342819,487930,489064,509514,515437,526256,541257,549179,558836,562974,564570,632649,726352,729457,744788,749818,794894,852973,908290,909477,940076,974501,979668,991993,117812,428488,572892,763560,072334,428843,741399,997087,343140,814505,062782,954113,055825,375052,178943,384319,757309,400088,743324,222306,455787,947382,013185,016734,221085,244603,330500,362315,476666,535647,657257,863131,374623,625719,187201,964273,247496,395030,107011,729322,997229,069954,140868,237087,946524,002678,471796,504350,404477,764408,990529,321618,436656,638858,798355,111122,472205,995301,074083,530802,693841,061079,396798,735431,985740,203407,215234,219882,712704,751939,882548,998326,082582,360978,687867,035599,394077,537066,668628,672855,930238,966020,135865,137505,294096,481259,716390,799899,179988,183456,240812,359267,455055,479011,696857,594164,985303,173939,300490,320520,357367,443728,541701,559657,704562,742129,813588,884662,991163,127311,592763,108546,120489,138755,275936,372750,462699,671268,900868,195354,835485,279022,665596,816013,913765,199804,242847,256396,404510,901661,156235,229489,778572,006825,859789,952124,160131,412734,274278,364126,527344,253264,938481,055424,060837,079587,088853,185864,216411,236998,613330,821285,092483,159722,307091,546975,466007,428353,557178,425695,420146,448714,415198,414787,410193,404743,581908,435620,534648,455910,469941,449526,470920,515204,449107,478940,491710,516258,518773,396164,377014,372536,245871,255663,245513,245238,235123,232420,230431,001508,003070,258606,267286,363298,358874,341320,337344,308134,292819,281803,275838,273028,271119,222814,998040,884715,874174,957101,868537,860394,857585,847267,846295,826306,815522,811198,908539,913836,995356,985802,973414,968769,962444,957833,954630,939239,924860,919643,915246,807363,792869,785047,660724,637172,632890,632827,629733,620634,605973,600781,599445,594869,590701,668833,674210,777644,768477,768191,764079,745304,743949,734076,730043,724283,700691,676502,584898,220068,003953,162308,157788,012783,013675,016173,056450,064931,070648,078784,175535,130192,496172,211880,208260,099351,009724,818342,200231,195773,183376,083475,105870,124911,129676,930489,133830,148281,149002,143142,476853,152195,098254,151025,157261,154317,096933,087596,154111,194603,428978,643236,437469,243338,763524,698294,182778,404100,584308,602351,694430,963620,984581,047327,602397,248556,208885,294595,336728,206342,854016,497643,860223,890414,554787,648623,946052,367702,058911,052221,590168,207056,311576,680784,204852,421387,628609,430313,434685,124154,935661,301541,411833,657024,176384,226419,219141,908879,877297,076090,033234,190153,923004,095881)
group by t.srs_id
order by t.srs_id desc
Here's the explain for the query.
+----+-------------+-----------------------+--------+--------------------------------+-------------+---------+---------------------------------+--------+----------------------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-----------------------+--------+--------------------------------+-------------+---------+---------------------------------+--------+----------------------------------------------+
| 1 | PRIMARY | <derived2> | ALL | NULL | NULL | NULL | NULL | 47863 | Using temporary; Using filesort |
| 1 | PRIMARY | t | eq_ref | PRIMARY,srs_id,status,position | PRIMARY | 8 | tj.id | 1 | Using where |
| 1 | PRIMARY | da | ref | DEPT_CD,DEPT_CD_key | DEPT_CD_key | 11 | zucsfhr_DEVEE150.t.home_dept_cd | 1 | Using where |
| 1 | PRIMARY | ts | eq_ref | PRIMARY | PRIMARY | 4 | zucsfhr_DEVEE150.t.status | 1 | |
| 1 | PRIMARY | trm1 | ref | srs_id,role | srs_id | 8 | zucsfhr_DEVEE150.t.srs_id | 2 | Using where |
| 1 | PRIMARY | tp | eq_ref | PRIMARY | PRIMARY | 4 | zucsfhr_DEVEE150.t.position | 1 | |
| 1 | PRIMARY | <derived3> | ALL | NULL | NULL | NULL | NULL | 47343 | |
| 1 | PRIMARY | <derived4> | ALL | NULL | NULL | NULL | NULL | 46682 | |
| 1 | PRIMARY | <derived5> | ALL | NULL | NULL | NULL | NULL | 36743 | |
| 1 | PRIMARY | u1 | ref | eid | eid | 11 | tm3.meta_value | 1 | |
| 1 | PRIMARY | u2 | ref | eid | eid | 11 | zucsfhr_DEVEE150.trm1.eid | 1 | |
| 1 | PRIMARY | trm2 | ref | srs_id,role | srs_id | 8 | zucsfhr_DEVEE150.t.srs_id | 2 | Using where |
| 1 | PRIMARY | u3 | ref | eid | eid | 11 | zucsfhr_DEVEE150.trm2.eid | 1 | |
| 1 | PRIMARY | tt | eq_ref | PRIMARY | PRIMARY | 8 | zucsfhr_DEVEE150.t.wfrl3 | 1 | |
| 5 | DERIVED | exp_z_srs_ticket_meta | ref | meta_key | meta_key | 87 | | 75554 | Using where; Using temporary; Using filesort |
| 4 | DERIVED | exp_z_srs_ticket_meta | ref | meta_key | meta_key | 87 | | 98574 | Using where; Using temporary; Using filesort |
| 3 | DERIVED | exp_z_srs_ticket_meta | ref | meta_key | meta_key | 87 | | 102798 | Using where; Using temporary; Using filesort |
| 2 | DERIVED | exp_z_srs_tickets | index | NULL | srs_id | 8 | NULL | 260955 | Using index |
+----+-------------+-----------------------+--------+--------------------------------+-------------+---------+---------------------------------+--------+----------------------------------------------+
I'm very certain that the three tm joins ( tm1, tm2, tm3 ) are the culprit. If I remove the subquery and do a simple join on those tables, the query is much faster. As it is now, I don't know how long the query takes to run. I gave up after about five minutes of waiting.
How would you recommend rewriting this?
exp_z_srs_ticket_role_meta (role, srs_id, eid)