Q:

A question on MySQL SELECT Algorithm/Function

Let's say I have 100,000 rows in a table, and each of the rows has a boolean value.  Only ten of these rows have a value of 1, the rest are 0. 
How would MySQL perform a SELECT on only the rows with a boolean value of 1?  Would it have to do a binary search through all the values?  Or would it be smart enough to pull out only the ones with a boolean value of 1 without having to search through the entire list? 

A:

To see how MySQL is doing something you want to look at the execution plan.  More information on MySQL Execution plans at http://dev.mysql.com/doc/refman/5.5/en/execution-plan-information.html .  You should think of SQL as a declarative language, you tell it to do something , and it writes a program to do that.  The execution plan shows you the program it wrote. 
SQL will be able to look up specific entries when there is an index on the column ( like an index from a book).  However, a binary field with a split distribution is a classic example of a column that doesn't have good selectivity, in other words, it isn't going to narrow down the search very much. 