KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I wanted to run the following query: -- Main Query SELECT COUNT(*) FROM table_name WHERE device_id IN (SELECT DISTINCT device_id FROM table_name WHERE NAME = 'SOME_PARA') This following query (sub query from Main Query): SELECT DISTINCT device_id FROM table_name WHERE NAME = 'SOME_PARA' executes in 7 seconds, giving 2691 rows from a table of 2.1M rows. I fired the Main Query above and it is still executing after 5 mins+ of waiting. Finally, I executed the sub query separately, took the 2691 records from the result, executed the following query: -- Main Query (improvised) SELECT COUNT(*) FROM table_name WHERE device_id IN ("device_id_1", "device_id_2", ....., "device_id_2691") Surprisingly, this gave me an answer within 40 seconds. What gives? Why doesn't MySQL use the same technique that I used and give an answer quickly? Am I doing something wrong?
Tags (comma-separated)
Save Edits
Cancel