From: Sancar Saran on
Hi,

I want to know is there any db server around there for store php arrays
natively.

Regards

Sancar
From: Sancar Saran on
On Sunday 04 March 2007 23:04, Sancar Saran wrote:
> Hi,
>
> I want to know is there any db server around there for store php arrays
> natively.
>
> Regards
>
> Sancar
Thanks for responses, it seems I have to give more info about situation.

In my current project, we had tons of arrays. They are very deep and
unpredictable nested arrays.

Currently we are using serialize/unserialize and it seems it comes with own
cpu cost. Xdebug shows some serializing cost blips. Sure it was not SO BIG
deal (for now of course).

My db expertise covers a bit mysql and mysql does not have any array type
field (enum just so simple).

I just want to know is there any way to keep array data type natively in a sql
field.

Regards.

Sancar
From: Micah Stevens on
Not a single field, but there's several methods of storing trees of
information, which is what an array is. Here's one:

Nested Array storage table:

ArrayID (int, autonumber)
keyname (text)
parent (int)
data (bigtext or whatever would be appropriate for the data you're storing)

For an array like this:

array('one'=>1, 'two'=>array('three'=>3, 'four'=>4))

the table would store these rows:

1, 'one', 0, 1
2, 'two', 0, 2
3, 'three', 2, 3
4, 'four', 2, 4

You can use a recursive function to restore the array, unless you
require the granular functionality this type of process would give you
such as sorting and filtering and statistics gathering.

-Micah

However, I think in the long run, you'd be better off serializing the data.

-Micah


On 03/04/2007 02:15 PM, Sancar Saran wrote:
> On Sunday 04 March 2007 23:04, Sancar Saran wrote:
>
>> Hi,
>>
>> I want to know is there any db server around there for store php arrays
>> natively.
>>
>> Regards
>>
>> Sancar
>>
> Thanks for responses, it seems I have to give more info about situation.
>
> In my current project, we had tons of arrays. They are very deep and
> unpredictable nested arrays.
>
> Currently we are using serialize/unserialize and it seems it comes with own
> cpu cost. Xdebug shows some serializing cost blips. Sure it was not SO BIG
> deal (for now of course).
>
> My db expertise covers a bit mysql and mysql does not have any array type
> field (enum just so simple).
>
> I just want to know is there any way to keep array data type natively in a sql
> field.
>
> Regards.
>
> Sancar
>
>
From: "Bastien Koert" on
another option might be to store xml snippets that match the array.

if you are using large numbers of arrays, perhaps a revamping of the db
structure to map the arrays to sub-tables might be in order

bastien


>From: Micah Stevens <micah(a)raincross-tech.com>
>To: Sancar Saran <sancar.saran(a)evodot.com>
>CC: php-db(a)lists.php.net, php-general(a)lists.php.net
>Subject: Re: [PHP-DB] array field type
>Date: Sun, 04 Mar 2007 15:04:42 -0800
>
>Not a single field, but there's several methods of storing trees of
>information, which is what an array is. Here's one:
>
>Nested Array storage table:
>
>ArrayID (int, autonumber)
>keyname (text)
>parent (int)
>data (bigtext or whatever would be appropriate for the data you're storing)
>
>For an array like this:
>
>array('one'=>1, 'two'=>array('three'=>3, 'four'=>4))
>
>the table would store these rows:
>
>1, 'one', 0, 1
>2, 'two', 0, 2
>3, 'three', 2, 3
>4, 'four', 2, 4
>
>You can use a recursive function to restore the array, unless you require
>the granular functionality this type of process would give you such as
>sorting and filtering and statistics gathering.
>
>-Micah
>
>However, I think in the long run, you'd be better off serializing the data.
>
>-Micah
>
>
>On 03/04/2007 02:15 PM, Sancar Saran wrote:
>>On Sunday 04 March 2007 23:04, Sancar Saran wrote:
>>
>>>Hi,
>>>
>>>I want to know is there any db server around there for store php arrays
>>>natively.
>>>
>>>Regards
>>>
>>>Sancar
>>>
>>Thanks for responses, it seems I have to give more info about situation.
>>
>>In my current project, we had tons of arrays. They are very deep and
>>unpredictable nested arrays.
>>
>>Currently we are using serialize/unserialize and it seems it comes with
>>own cpu cost. Xdebug shows some serializing cost blips. Sure it was not SO
>>BIG deal (for now of course).
>>
>>My db expertise covers a bit mysql and mysql does not have any array type
>>field (enum just so simple).
>>
>>I just want to know is there any way to keep array data type natively in a
>>sql field.
>>
>>Regards.
>>
>>Sancar
>>
>>

_________________________________________________________________
Win a trip for four to a concert anywhere in the world!
http://www.mobilelivetour.ca/
From: Sancar Saran on
Thanks for all those replies. It seems there was no easy solution (and or
serializing was better solution) for us.

Our arrays contains lots of things.. XML may not fit because content of array
may broke xml structure.

Thanks for help.

Regards

Sancar.

> >>>Hi,
> >>>
> >>>I want to know is there any db server around there for store php arrays
> >>>natively.
> >>>
> >>>Regards
> >>>
> >>>Sancar
> >>
> >>Thanks for responses, it seems I have to give more info about situation.
> >>
> >>In my current project, we had tons of arrays. They are very deep and
> >>unpredictable nested arrays.
> >>
> >>Currently we are using serialize/unserialize and it seems it comes with
> >>own cpu cost. Xdebug shows some serializing cost blips. Sure it was not
> >> SO BIG deal (for now of course).
> >>
> >>My db expertise covers a bit mysql and mysql does not have any array type
> >>field (enum just so simple).
> >>
> >>I just want to know is there any way to keep array data type natively in
> >> a sql field.
> >>
> >>Regards.
> >>
> >>Sancar
>
> _________________________________________________________________
> Win a trip for four to a concert anywhere in the world!
> http://www.mobilelivetour.ca/