I have a MySQL database table with nearly 23 million records. This table has no primary key, because nothing is unique. It has 2 columns, both are indexed. Below is its structure

![enter image description here][1]

Below is some of its data.

![enter image description here][2]


Now, I ran a simple query

    SELECT `indexVal` FROM `key_word` WHERE `hashed_word`='001'


Unfortunately, this took more than 5 seconds to retrieve the data and show them to me. My future table will have 150 billion records, so this time is very very high.

I ran the `Explain` command to see what's going on. Result is below.

![enter image description here][3]

Then I ran the Profile using below command.

    SET profiling=1;
    SELECT `indexVal` FROM `key_word` WHERE `hashed_word` = '001';
    SHOW profile;

Below is the result of the profiling

![enter image description here][4]

Below is some more information about my table.

![enter image description here][5]


So, why this is taking too long? They are indexed too! In future, I have to run lot of `LIKE` commands, so this is taking too much time. What has went wrong?

  [1]: https://i.sstatic.net/Lg03s.png
  [2]: https://i.sstatic.net/tt5ma.png
  [3]: https://i.sstatic.net/zyeTZ.png
  [4]: https://i.sstatic.net/IPm1h.png
  [5]: https://i.sstatic.net/bPVJo.png