In your case, I think "sqlite_autoindex_user_1" is the index SQLite uses to implement the declared constraint on "email". Despite the name, it's an internal index, not an autoindex.
Do not confuse automatic indexes with the internal indexes (having
names like "sqlite_autoindex_table_N") that are sometimes created to
implement a PRIMARY KEY constraint or UNIQUE constraint. The automatic
indexes described here exist only for the duration of a single query,
are never persisted to disk, and are only visible to a single database
connection. Internal indexes are part of the implementation of PRIMARY
KEY and UNIQUE constraints, are long-lasting and persisted to disk,
and are visible to all database connections. The term "autoindex"
appears in the names of internal indexes for legacy reasons and does
not indicate that internal indexes and automatic indexes are related.
Source
The query optimizer decided that using the index on "email" would be fastest. It's probably right.
To see how SQLite might use your covering index "medp", build a test table like this.
create table social_test (
id integer primary key,
name text not null, -- no UNIQUE constraint for testing
tampil integer not null
);
create index medp on social (name, tampil);
Insert a million rows if you want to.
analyze social;
explain query plan select * from social where name = 'facebook' and tampil = 6;
0|0|0|SEARCH TABLE social USING COVERING INDEX medp (name=? AND tampil=?)