Re: PEAR Algorithms/Containers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 18, 2006 8:57 am, tedd wrote:
> However, binary-trees are for searching and I use MySQL for that. I
> don't know specifically how MySQL preforms searches. I had hoped that
> somewhere one could set a bit and change the algorithms, but I
> haven't been able to find any references that allow that.

You really would need to discuss this at length on a MySQL forum/list,
but basically, the first thing you have to look at is the indeces, if
any, on the tables in question.

If you have an index, it could be a B-tree, or a hash, or any other
number of low-level indexed structures which more-or-less imply the
algorithm to be used in a search/sort.

The second thing to examine is MySQL's estimate of the number and
distribution of records to be loaded/examined/returned.

If the result set to be loaded/examine/returned is relatively high
number and widely distributed over hard drive "pages" then MySQL
"knows" it has to do a full table scan anyway, and goes ahead and does
that, I think.

All of the above is a gross over-simplification of something that
MySQL has put a zillion man-hours into solving -- which is why a
database is so GOOD at this sort of thing.

Of course, one doesn't always have a choice...

For example, one might be faced with a dog-slow crappy Google adwords
API feed that can only return keyword traffic estimates for specific
bids, and then one would be forced to hit that dog-slow crappy Google
adwords API feed in a binary search algorithm just to have any hope at
all of completing one's task in some reasonable time-frame...  Not
that I've ever faced this problem, oh no. :-(

To me, the added complexity of a class to handle something as simple
as binary search, hash-search, or even a B-tree or order N, is just
overhead and complexity of integration that I don't need.

When I need that kind of algorithm, I do not find it difficult nor
tedious to just code it from scratch.

But I can see where others would find it a real boon, so I suspect it
would be quite useful for many to find in PEAR or some reasonable PHP
code library.

What might be MORE useful, perhaps, would be an extension in C to add
some of these algorithms to the language somehow -- Since that would
maybe include a performance boost in the algorithm itself, assuming
you could get the data/structures into and out of the C code in some
reasonable way.

YMMV

-- 
Like Music?
http://l-i-e.com/artists.htm

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux