Its not only the query we write which increases MySQL performance a lot of times the collation that we use when we build db or db tables affect performance too. We all know that there are lot of collation and we can select one from the dropdown from phpmyadmin. But these collation we select for our characters sets also plays a vital role in application performance.
Before going into the differences betweenvthem let us discuss basic points on what is unicode and why we are using this for characters. Unicode character sets are the one which is used to store our characters. These are encoded and then gets stored and they accept range from 0 and 65535 (or U+0000 .. U+FFFF) So MySQL accepts two sets of unicode data, they are UCS and UTF. the only difference between them is how many bit word they are encoded with. And they are done using unicode collation algorithm. To know more about this algorithm, please go through this link |
when you are trying to search a word in your MySQLtable, UTF8_general_ci will yield you the result much faster than unicode_ci. This is because the unicode_ci supports 650 languages in total. And because of this it checks with all the possible combinations with all set of languages. So as per my understanding , For Better Accuracy: UTF8_unicode_ci |