I think the first thing that you should do is create a primary key on your table. InnoDB actually stores the data rows in the primary key index (indexed ordered table).
And if you don't specify a primary key in your design it will create one implicitly and this is usually a big disadvantage.
And the primary key should be small and auto_increment because it is used as the reference in all other indexes.
So in your case even though you might not intend to use it I recommend something like:
And this will usually also speed up the import since it doesn't have to rearrange and balance the tree in the table all the time.
CREATE TABLE table1
pid int not null primary key auto_increment,
basevalue DOUBLE NULL,
owner VARCHAR(50) NULL,
street VARCHAR(40) NULL,
id INT NULL,
INDEX valuekey (basevalue,owner,id))
Yes the way you are describing it is how an ORDER BY ... LIMIT x,y works.
How would you otherwise imagine LIMIT to find record x?
LIMIT is used last in the internal execution of a query to reduce the number of rows returned after all other logic has been applied.
If you want to use indexes in better ways you will have to do it in the _WHERE clause_ instead. Which when it comes to pagination can be a bit bothersome, but you can usually use something else to paginate on. Besides clicking 50 times on a pagination is usually not what a user wants to do so some other sort of grouping is usually necessary.