Сериализовать или свернуть
Мне нужно хранить много двумерных массивов внутри базы данных, и я не был уверен, что использовать: serialize
или implode
. Поэтому я провел несколько тестов, чтобы выяснить, какой из них работает быстрее, и пришел к выводу, что это было serialize
:
Execution times: 1'000'000
Serialize: 1.4974119663239 seconds
Implode: 2.5333571434021 seconds
Explode: 4.0185871124268 seconds
Unserialize: 1.6835169792175 seconds
Итак, вопрос: почему взрывается+взрывается намного медленнее, чем сериализация+несериализация?
PS: Я уже нашел этот вопрос, но это не совсем то, что я спрашиваю.
1 answers
Моя идея заключается в том, что explode
/implode
оперируйте строками, вот почему, в то время как serialize
/unserialize
вывод/ввод строки в самом конце/начале. Вероятно, чем больше строк у вас implode
и чем длиннее строка у вас explode
, тем медленнее она работает, вы пробовали?
Что использовать, я не знаю, это зависит от того, захотите ли вы позже обработать выходную строку, я думаю, что serialize
строку d сложнее разобрать. Но для хранения его в базе данных или файле я бы использовал serialize
.