Учитывая, что потенциально может быть произвольно большое количество строк, я бы сохранил порядок в виде записи текстовой строки в таблице пользовательских настроек (при условии, что у вас есть такая таблица).По сути, по умолчанию будет нулевая запись (для экономии места на диске), что будет означать, что порядок не изменяется по сравнению с порядком в базе данных, и, если пользователь изменяет его, вы можете просто сериализовать порядок строк (т.е.если бы у них была строка 15 сначала, затем 19, затем 3, вы могли бы иметь 15-19-3
), а затем просто прочитать ее.Это одиночное обновление, и оно масштабируется до бесконечности (ну, до длины текстовой строки, но это довольно ужасно большой для типов mediumtext
и longtext
).
Я оставляю вышеупомянутое на всякий случай, если оно применимо к другим людям, но для конкретного случая, описанного ниже, я думаю, что я бы рассмотрел сохранение префов в текстовом файле.Учитывая, что порядок в любом случае показан пользователю, в префах, находящихся в незашифрованном файле, нет угрозы безопасности, и вы можете переписать все это очень быстро.Учитывая то, как вы это описали ниже, я бы использовал CSV-файл с двумя столбцами, но, очевидно, вы могли бы настроить его, однако имеет смысл.
Быстрый поиск по скоростям чтения файлов привел к этому комментарию в функции file_get_contents()
, которая предполагает, что вы, возможно, захотите обратить внимание на размер файла при рассмотрении метода, который вы будете использовать для доступа к данным в файле.Я не знаю, как писать.