2012-03-20 1 views
1

Я собираюсь использовать сериализацию для хранения некоторого большого массива для сохранения в mySQL, и мне интересно, стоит ли этому методу считать счетную производительность?PHP: Сериализация себестоимости имеет большую производительность?


[править]

Массив Я буду хранить это данные пользователя прайс-листы. Я сделал динамическую форму для ввода пользователем своего прайс-листа, и каждый прейскурант содержит от 20 до 100 строк. Каждая строка имеет 4 поля: product_name, unit, оптовую цену, розничную цену.

Я просто хочу сохранить списки & повторно отображать их, а не для запросов SQL.

+0

Почему ты сказал большой сохранени массив? Какова конечная цель? Это поможет в рекомендации по производительности :). – Corbin

+0

Насколько велик массив? – Timur

+0

Возможный дубликат [http://stackoverflow.com/questions/1256949/serialize-a-large-array-in-php] – Java

ответ

5

Сериализация занимает много времени для больших вещей и короткого времени на мелочи. Насколько велики ваши вещи и насколько быстро вам нужны вещи?

Вы можете непосредственно измерить стоимость в микросекунды сериализации() для ваших конкретных массивов с чем-то вроде

$startTime = microtime(true); 
yourSerializeFunction(); // <-- you are timing this 
$endTime = microtime(true); 
var_dump($endTime - $startTime) 

Или есть lots of other profiling options, если вы хотите быть профессионалом об этом.

0

Насколько велик массив? Это должна быть линейная проблема, поэтому удар производительности, вероятно, будет не таким большим, как другие подходы. Вы всегда можете сравнить его, если вы беспокоитесь.

С учетом этого, пожалуйста, помните, что сохранение сериализованного массива в реляционной базе данных ужасно по сравнению с нормализованными данными. Вам будет трудно использовать сериализованный массив с другого языка, и почти невозможно запросить данные в предложении WHERE. Надеюсь, вы это рассмотрели.

0

Накладные расходы процессора с сериализованным() и соответствующим unserialize(), хотя это невыносимо: если вы не делаете это тысячи раз за запрос или на огромных объемах больших объемов данных, вы даже не заметите.

Сериализованные данные больше, и это менее практично для поиска значений в вашей базе данных, поэтому я рекомендовал бы лучше нормализации таблиц, так что вам не нужно делать это

Смежные вопросы