Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The article states that order of join matters because then nest loops differently. But we still go through entire loops everywhere. Where do those numbers in the example come from? If we have 1000, 20 and 200 elements in 3 loops, algorithmically, it does not matter in which order you iterate. Complexity is always 1000×20×200.

What am I missing?



You don't go through entire loops everywhere because if there isn't a match in the first two tables, you don't have to check the match with the third table.

It's better to check A x C before A x B if you know that A x C has less matching rows, because the final loop will be shorter.


Ah, I see the numbers in the example are the numbers of matched rows, not a total number of rows... Make sense. I do not work with databases, did not know that you should pay attention to the order here.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: