Я, к сожалению, с MySQL дело имел давно, и не так, чтобы много, но:
1) Наверное, можно создать индекс на поле uid и указывать его при выборке.
Попробуйте, ради интереса:
CREATE idx_uid ON table;
SET @uid:= NULL;
SELECT
t.id,
@uid := t.uid
FROM
table t
FORCE INDEX (idx_uid)
WHERE
t.uid > 0
AND (@uid IS NULL OR t.uid = @uid)
AND t.status = 1
2) Вместо подзапроса в WHERE я бы использовал INNER JOIN к подзапросу.
SELECT
t.id, t.uid
FROM table AS t
INNER JOIN (
SELECT uid FROM table
WHERE
uid > 0 AND status=1
ORDER BY uid LIMIT 1
) AS tt ON t1.uid = tt.uid;