Мне дали кучу идентификаторов (из внешнего источника), которые мне нужно сопоставить с идентификаторами в нашей базе данных и отфильтровать те, которые попадают между определенной датой, а также «включены» и некоторые другие параметры.Я легко могу сделать это, выполнив:
SELECT * FROM `table` WHERE `id` IN (csv_list_of_external_ids)
AND (my other cross-reference parameters);
И, выполнив это, из всех этих входящих идентификаторов я получу те, которые хочу.Но очевидно, что это не очень эффективный метод, когда внешние идентификаторы исчисляются тысячами.И я не уверен, будет ли MySQL даже поддерживать такой огромный запрос.
Учитывая, что ничто не может быть кэшировано (поскольку пользовательские данные и внешние идентификаторы меняются в значительной степени при каждом запросе), и что эти запросыслучается, по крайней мере, каждые 10 секунд.Какие еще есть альтернативы SQL?