Array to MySQL field - някакъв умен начин?

BullBlogger

New Member
Някакъв умен начин да запазя многомерен масив в една клетка от таблица в mysql? Ясно, че става с foreach и implode ама е досадно и бавно. Веднъж пакетираш, после разпакетираш

Бях мярнал нещо много хитро с json (май) обаче в момента изобщо не мога да стигна до някакво смислено решение.
 
От: Array to MySQL field - някакъв умен начин?

Някакъв умен начин да запазя многомерен масив в една клетка от таблица в mysql? Ясно, че става с foreach и implode ама е досадно и бавно. Веднъж пакетираш, после разпакетираш

Бях мярнал нещо много хитро с json (май) обаче в момента изобщо не мога да стигна до някакво смислено решение.

уффф, днес ми е тъп ден -

Отговор: serialize
 
От: Array to MySQL field - някакъв умен начин?

За такива случаи аз ползвам json_encode и json_decode, но и със serialize и unserialize става.
 
От: Array to MySQL field - някакъв умен начин?

Дай малко повече информация...

ами... имам многомерен масив и искам да го вкарам целия в една клетка в mysql таблица. бих могъл с foreach да обединя всеки масив в стринг и после да обединя главните масиви до най-главния ама ми се видя тегаво. По тази причина търся по-бърз начин.

Вариантите са два:
-serialize
- json (както unwize посочи)

в общи линии туйто в см въпросът е решен
 
От: Array to MySQL field - някакъв умен начин?

Имах предвид колко многомерен е масива (дали има некъв макс, който нема да мине) и какво точно блъскаш вътре, в какъв контекст и т.н.
Дай подробна информация пък току виж сме помогнали...
 
От: Array to MySQL field - някакъв умен начин?

мхм,

1. в общия случай двумерен масив, но е възможно да стигне до пет нива
2. дължината на текста е относителна. не съм я мерил но не очаквам да надхвърли 1000 символа

Пак казвам - въпросът е решен със сериализиране. Все пак ако имаш някакво друго предложение - винаги съм отворен да науча нещо ново.
 
От: Array to MySQL field - някакъв умен начин?

Питах, защото може да има начин да се избегне. При всички случай аз ти препоръчвам за бъдещи проекти, а защо не и за този postgresql. Казвам ти го, защото аз мигрирах и съм много доволен.
 
От: Array to MySQL field - някакъв умен начин?

Питах, защото може да има начин да се избегне. При всички случай аз ти препоръчвам за бъдещи проекти, а защо не и за този postgresql. Казвам ти го, защото аз мигрирах и съм много доволен.

какви са ти впечатленията? Основно как се държи при много големи бази данни?
 
От: Array to MySQL field - някакъв умен начин?

Не знам за PostgreSQL, но MySQL с добри индекси и добре написани заявки при 10'000'000 записа се държи нормално.
 
От: Array to MySQL field - някакъв умен начин?

Не знам за PostgreSQL, но MySQL с добри индекси и добре написани заявки при 10'000'000 записа се държи нормално.

Това е много хубава новина
 
От: Array to MySQL field - някакъв умен начин?

Това е много хубава новина
Абе, като минеш милиончето много трябва да внимаваш с индексите и кои колони сочиш в where и в join.
 
От: Array to MySQL field - някакъв умен начин?

Аз използвам serialize и unserialize Удобно е. Имал съм случаи да се бърка със символи.
Другия вариант е някакво XML представяне, но така ще се губи повечко процесорно време предполагам.
 
Най-правилна е употребата на JSON (json_encode) - получава се най-малък размер на изходния string! serialize/unserialize е php глупост, която няма аналог в другите езици за програмиране от там и ако ви се наложи да използвате другаде сериализиран текст ще гризнете парчето.
 
От: Array to MySQL field - някакъв умен начин?

Тя добра идеята с json_encode, но все още не навсякъде се използва PHP 5.2.0 + Така пак може да увисне при по-стари инсталации на PHP.
 

Горе