I upvoted the answer from J.D. but I'll add some points of my own.
Searching an index data structure for orders of magnitude more rows does have some difference. The more rows, the more the index depth. Traversing more levels of depth has some performance impact. It is logarithmic, as J.D. points out, so the cost increases slowly, but it's measurable. Read https://www.percona.com/blog/the_depth_of_a_b_tree/ for some of the math.
Given this, it might make sense to use sharding if you need your index searches in each respective shard to be more shallow. However, at the end of the day, the complexity of implementing sharding is too large to justify the minor performance improvement.
J.D. alludes to the next point, but I want to state it more clearly: sharding only has a performance advantage if a given query naturally visits only one shard.
For example, if you shard by date, but then you need to run a query to gather all data for a specific user, regardless of date. This means your query has to run the query for that user on every shard, because you don't know which dates for which the user might have data. Then implement some kind of collection code to merge the results from the queries on each shard.
This means the more shards you have, the longer it takes. Even if you can run queries against shards in parallel (more code you have to write), you'll at least be waiting for the slowest shard. You might think all shards are equal, therefore they'll all complete their respective query at the same time. Let me know how that turns out. :-)
Where I have seen sharding used more effectively is scaling out writes.
Reading data can usually be sped up by using RAM to cache the data. But writes on an ACID database must write to storage, and that's much slower. There's a finite limit to the throughput you can do on a given storage device, therefore a cap to the rate of writes. So if you can scale out to multiple servers with sharding, this can us many storage devices, and multiply the effective throughput of your writes.
SHOW CREATE TABLE
. The are probably better ways to improve performance than thinking about sharding.