https://bugzilla.wikimedia.org/show_bug.cgi?id=42923
--- Comment #1 from Sam Reed (reedy) <[email protected]> --- Ouch. Based on the queries I can see on my local wiki (explain then against enwiki): mysql:wikiadmin@db63 [enwiki]> SELECT /* ORMTable::rawSelect 192.168.0.18 */ student_id FROM `ep_students` WHERE student_user_id = '0' LIMIT 1\G Empty set (0.00 sec) mysql:wikiadmin@db63 [enwiki]> EXPLAIN SELECT /* EPRoleObject::hasCourse 192.168.0.18 */ course_id FROM `ep_courses` INNER JOIN `ep_users_per_course` ON ((upc_course_id=course_id)) WHERE upc_role = '2' AND upc_user_id = '0' LIMIT 1\G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: ep_courses type: index possible_keys: PRIMARY key: ep_course_instructor_count key_len: 1 ref: NULL rows: 1 Extra: Using index *************************** 2. row *************************** id: 1 select_type: SIMPLE table: ep_users_per_course type: eq_ref possible_keys: ep_users_per_course,ep_upc_course_id,ep_upc_role key: ep_users_per_course key_len: 9 ref: const,enwiki.ep_courses.course_id,const rows: 1 Extra: Using index 2 rows in set (0.01 sec) mysql:wikiadmin@db63 [enwiki]> EXPLAIN SELECT /* EPRoleObject::hasCourse 192.168.0.18 */ course_id FROM `ep_courses` INNER JOIN `ep_users_per_course` ON ((upc_course_id=course_id)) WHERE upc_role = '3' AND upc_user_id = '0' LIMIT 1\G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: ep_courses type: index possible_keys: PRIMARY key: ep_course_instructor_count key_len: 1 ref: NULL rows: 1 Extra: Using index *************************** 2. row *************************** id: 1 select_type: SIMPLE table: ep_users_per_course type: eq_ref possible_keys: ep_users_per_course,ep_upc_course_id,ep_upc_role key: ep_users_per_course key_len: 9 ref: const,enwiki.ep_courses.course_id,const rows: 1 Extra: Using index 2 rows in set (0.00 sec) mysql:wikiadmin@db63 [enwiki]> EXPLAIN SELECT /* ORMTable::count 192.168.0.18 */ COUNT(*) AS rowcount FROM `ep_orgs` LIMIT 1\G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: ep_orgs type: index possible_keys: NULL key: ep_org_active key_len: 1 ref: NULL rows: 1 Extra: Using index 1 row in set (0.00 sec) mysql:wikiadmin@db63 [enwiki]> EXPLAIN SELECT /* ORMTable::count 192.168.0.18 */ COUNT(*) AS rowcount FROM `ep_courses` LIMIT 1\G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: ep_courses type: index possible_keys: NULL key: ep_course_instructor_count key_len: 1 ref: NULL rows: 1 Extra: Using index 1 row in set (0.00 sec) mysql:wikiadmin@db63 [enwiki]> EXPLAIN SELECT /* ORMTable::count 192.168.0.18 */ COUNT(*) AS rowcount FROM `ep_courses` WHERE (course_end >= '20121210224746') AND (course_start <= '20121210224746') LIMIT 1\G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: ep_courses type: range possible_keys: ep_course_start,ep_course_end key: ep_course_start key_len: 16 ref: NULL rows: 1 Extra: Using where 1 row in set (0.00 sec) mysql:wikiadmin@db63 [enwiki]> EXPLAIN SELECT /* SpecialEducationProgram::getRoleCount 192.168.0.18 */ DISTINCT COUNT(upc_user_id) AS rowcount FROM `ep_users_per_course` WHERE upc_role = '0' LIMIT 1\G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: ep_users_per_course type: ref possible_keys: ep_upc_role key: ep_upc_role key_len: 1 ref: const rows: 1 Extra: Using index 1 row in set (0.00 sec) mysql:wikiadmin@db63 [enwiki]> EXPLAIN SELECT /* ORMTable::rawSelect 192.168.0.18 */ course_students FROM `ep_courses` WHERE (course_end >= '20121210224746') AND (course_start <= '20121210224746')\G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: ep_courses type: range possible_keys: ep_course_start,ep_course_end key: ep_course_start key_len: 16 ref: NULL rows: 1 Extra: Using where 1 row in set (0.00 sec) mysql:wikiadmin@db63 [enwiki]> EXPLAIN SELECT /* SpecialEducationProgram::getRoleCount 192.168.0.18 */ DISTINCT COUNT(upc_user_id) AS rowcount FROM `ep_users_per_course` WHERE upc_role = '1' LIMIT 1\G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: ep_users_per_course type: ref possible_keys: ep_upc_role key: ep_upc_role key_len: 1 ref: const rows: 1 Extra: Using index 1 row in set (0.00 sec) mysql:wikiadmin@db63 [enwiki]> EXPLAIN SELECT /* SpecialEducationProgram::getRoleCount 192.168.0.18 */ DISTINCT COUNT(upc_user_id) AS rowcount FROM `ep_users_per_course` WHERE upc_role = '2' LIMIT 1\G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: ep_users_per_course type: ref possible_keys: ep_upc_role key: ep_upc_role key_len: 1 ref: const rows: 2 Extra: Using index 1 row in set (0.00 sec) mysql:wikiadmin@db63 [enwiki]> EXPLAIN SELECT /* SpecialEducationProgram::getRoleCount 192.168.0.18 */ DISTINCT COUNT(upc_user_id) AS rowcount FROM `ep_users_per_course` WHERE upc_role = '3' LIMIT 1\G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: ep_users_per_course type: ref possible_keys: ep_upc_role key: ep_upc_role key_len: 1 ref: const rows: 1 Extra: Using index 1 row in set (0.00 sec) mysql:wikiadmin@db63 [enwiki]> EXPLAIN SELECT /* ORMTable::rawSelect 192.168.0.18 */ DISTINCT course_term FROM `ep_courses`\G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: ep_courses type: index possible_keys: NULL key: ep_course_term key_len: 257 ref: NULL rows: 1 Extra: Using index 1 row in set (0.00 sec) -- You are receiving this mail because: You are on the CC list for the bug. You are watching all bug changes. _______________________________________________ Wikibugs-l mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/wikibugs-l
