ADOdb new version 1.99

Grey_EM

Guest
ADOdb new version 1.99

Вышла (21.04.2002) новая версия популярного database abstract layer ADOdB 1.99
http://php.weblogs.com/ADOdb

New: RecordCount() supported in all databases. Unified parameter api for stored procedures.

То есть подсчет количества возвращаемых записей реализован библиотекой даже для баз (interbase :)) где это недоступно на уровне php библиотеки.

Напомню что эта библиотека абстрактного доступа к разным базам данных считается в настоящий момент самой быстрой из существующих (и широко распространенных).

ADOdb is possibly the fastest database library for PHP. We are twice as fast as PEAR DB, 10% faster than PhpLib. See http://phplens.com/lens/adodb/

P.S. В отличие от PEAR DB эта библиотека развивается пожалуй более динамично. Достаточно посмотреть лог изменений и на список поддерживаемых баз и возможностей. В частности поддержку oracle stored procedure

Поддерживаемые базы.

adodb-access.inc.php
adodb-ado.inc.php
adodb-ado_access.inc.php
adodb-ado_mssql.inc.php
adodb-borland_ibase.inc.php
adodb-csv.inc.php
adodb-db2.inc.php
adodb-fbsql.inc.php
adodb-firebird.inc.php
adodb-ibase.inc.php
adodb-informix.inc.php
adodb-mssql.inc.php
adodb-mysql.inc.php
adodb-mysqlt.inc.php
adodb-oci8.inc.php
adodb-oci8po.inc.php
adodb-odbc.inc.php
adodb-odbc_mssql.inc.php
adodb-odbc_oracle.inc.php
adodb-oracle.inc.php
adodb-postgres.inc.php
adodb-postgres7.inc.php
adodb-proxy.inc.php
adodb-sqlanywhere.inc.php
adodb-sybase.inc.php
adodb-vfp.inc.php
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Re: ADOdb new version 1.99

Автор оригинала: Grey_EM
Напомню что эта библиотека абстрактного доступа к разным базам данных считается в настоящий момент самой быстрой из существующих (и широко распространенных).
ADOdb is possibly the fastest database library for PHP. We are twice as fast as PEAR DB, 10% faster than PhpLib. See http://phplens.com/lens/adodb/
JFYI: phplib не является в полной мере abstraction layer'ом, что признавал сам Kristian Koehntopp.
Кроме того, мерять всё только на скорость --- привычка замученных MySQL'ем мозгов. Если человек использует abstraction layer вместо native вызовов, значит он уже готов пожертвовать скоростью и получить взамен удобство.

P.S. В отличие от PEAR DB эта библиотека развивается пожалуй более динамично. Достаточно посмотреть лог изменений и на список поддерживаемых баз и возможностей. В частности поддержку oracle stored procedure
Всяк кулик своё болото хвалит. ;)
Письма Мануэля Лемоса (Manuel Lemos, автор Metabase) во все расылки, до которых он может дотянуться, вообще без слёз читать нельзя.
 

Grey_EM

Guest
Re: Re: ADOdb new version 1.99

Автор оригинала: Sad Spirit
JFYI: phplib не является в полной мере abstraction layer'ом, что признавал сам Kristian Koehntopp.
Кроме того, мерять всё только на скорость --- привычка замученных MySQL'ем мозгов.
:)
Если человек использует abstraction layer вместо native вызовов, значит он уже готов пожертвовать скоростью и получить взамен удобство.
Я согласен с тобой совершенно.
Фразу о скорости я добавил специально. Порочная практика меряния скорости самых ничтожных скриптов слишком укоренилась в php сообществе. Именно для этой цели я и указал на скорость библиотеки.
Серьезных же людей может заинтересовать тот факт что библиотека поддерживает RecordCount для баз которые не возвращают эти данные (Interbase)
И что более интересно в ADOdb есть мех-м поддержки выполнения хранимых процедур (для оракла например) и prepare execute операторов (для interbase например)

Вот кстати кусок из интересной статьи (http://php.weblogs.com/portable_sql)
----------------------------------------
Selects: Counting Records
Another problem with SELECTs is that some databases do not return the number
of rows retrieved from a select statement. This is because the highest performance
databases will return records to you even before the last record has been found.
In ADOdb, RecordCount( ) returns the number of rows returned, or will emulate
it by buffering the rows and returning the count after all rows have been returned.
This can be disabled for performance reasons when retrieving large recordsets
by setting the global variable $ADODB_COUNTRECS = false. This variable is checked
every time a query is executed, so you can selectively choose which recordsets
to count.
If you prefer to set $ADODB_COUNTRECS = false, ADOdb still has the PO_RecordCount(
) function. This will return the number of rows, or if it is not found, it will
return an estimate using SELECT COUNT(*):
$rs = $db->Execute("select * from table where state=$state");
$numrows = $rs->PO_RecordCount('table', "state=$state");
----------------------------------------
 

Grey_EM

Guest
Re: Re: Re: ADOdb new version 1.99

Кстати посмотрел я MetaBase

Судя по набору классов, баз он поддерживает не особенно много. Да и делает вроде все один.

Database interface function library 19641 2002-01-21 04:51:26 8360
metabase_database.php DBMS driver base class. 35753 2002-01-21 04:57:17 7834
metabase_manager.php Database manager class. 57982 2001-10-24 18:25:14 7703
metabase_msql.php Driver class for Mini-SQL 11452 2002-01-21 05:00:18 7534
metabase_mysql.php Driver class for MySQL 19240 2002-01-21 05:02:37 8438
metabase_oci.php Driver class for Oracle using the OCI 27632 2002-01-21 05:05:24 7889
metabase_odbc.php Driver class for ODBC 30207 2002-01-21 05:09:18 7787
metabase_parser.php Schema definition parser class. 28168 2001-10-24 18:34:35 7612
metabase_pgsql.php Driver class for PostgreSQL
 
Сверху