A composite key contains two columns: col1, and col2. If I run a query on only col1, will the index be used? and why
I guess not, because typically index is implemented as B+ tree. And in B+ tree, keys are stored in interior blocks and all records are stored at the lowest level of the tree. It may be not efficient or impossible if we do the query from the index.
In general, databases are capable of using the leading column(s) of a composite index.
Whether or not the index actualy will be used, is up to the database optimizer to decide.