Как вариант, можно завести дополнительное поле (sort) у билетов и заполнить его уникальными случайными числами. После этого сделать индекс по user_id и sort. Тест на таблице в миллион записей (InnoDB):
mysql> SELECT * from ticket WHERE user_id = 0 ORDER BY sort LIMIT 10;
+--------+------+---------+
| id | sort | user_id |
+--------+------+---------+
| 923164 | 1 | 0 |
| 171274 | 2 | 0 |
| 217458 | 3 | 0 |
| 182627 | 4 | 0 |
| 183120 | 5 | 0 |
| 483756 | 6 | 0 |
| 210156 | 7 | 0 |
| 362920 | 8 | 0 |
| 311591 | 9 | 0 |
| 545096 | 10 | 0 |
+--------+------+---------+
10 rows in set (0.00 sec)
mysql> UPDATE ticket SET user_id = 1 WHERE id IN (923164, 171274, 217458);
Query OK, 3 rows affected (0.01 sec)
Rows matched: 3 Changed: 3 Warnings: 0
mysql> SELECT * from ticket WHERE user_id = 0 ORDER BY sort LIMIT 10;
+--------+------+---------+
| id | sort | user_id |
+--------+------+---------+
| 182627 | 4 | 0 |
| 183120 | 5 | 0 |
| 483756 | 6 | 0 |
| 210156 | 7 | 0 |
| 362920 | 8 | 0 |
| 311591 | 9 | 0 |
| 545096 | 10 | 0 |
| 230442 | 11 | 0 |
| 472816 | 12 | 0 |
| 138187 | 13 | 0 |
+--------+------+---------+
10 rows in set (0.00 sec)