У меня есть большая таблица базы данных в SQLExpress для Windows с определенной областью интереса 'code'.
У меня есть веб-сервер Apache с MySQL в Linux.Веб-приложение на коробке Linux нуждается в доступе к списку всех кодов.Единственное, для чего он будет использовать этот список, - это проверка на наличие заданного кода.
Использование сервера Linux для обращения к серверу Windows нецелесообразно, поскольку сервер Windows находится за офисным интернет-соединением NAT'ed.и это не всегда может быть доступно.Я установил его так, чтобы сервер Windows передавал список кодов на веб-сервер с помощью простого запроса HTTP POST.Однако на данный момент я не реализовал хранение кодов на коробке Linux.
Должен ли я хранить их в таблице MySQL с одним полем «код»? Тогда я получаюбыстрый поиск по индексу O (1), однако, я думаю, что проблема синхронизации - учитывая обновленный список кодов, выдвинутый из окна Windows, как мне оптимально синхронизировать список с базой данных?TRUNCATE, затем INSERT?
Стоит ли хранить их в плоском файле? Тогда у меня есть O (n) время поиска, а не O (1).Кроме того, дополнительные издержки при постоянном времени тоже будут, поскольку я буду обрабатывать файл в Ruby.Однако синхронизация проста - просто замените файл.
ОБНОВЛЕНИЕ
Другой подход: Злоупотребление файловой системой : Дан код, скажем "ABCDEF", сгенерируйте путь типа" A / AB / ABC / ABCDEF "и" коснитесь "файла там.Я думаю, что мне нравится этот подход больше всего. Это плохая идея?