I have ~1000 tables that start with the same prefix :
table_prefix_{SOME_ID}
(i can take the ids from another table)
what is the fast way to loop over
Forget looping. Just do this:
select concat( 'alter table ', a.table_name, ' add index `fields` (`field`);' )
from information_schema.tables a
where a.table_name like 'table_prefix_%';
Then take the result set and run it as a SQL script.
BTW, you probably mean create index index_name on table_name( column_name);