To reduce system load i've reread the mysql.php class for db reading.
Normally it stores all query info into the class so you can recieve fieldset information.
This is now obsolete since there's none file which needs the information.
Function
sql_fetch_unbuffered_rowset() is added to the class and should speed things up drastically especialy on large queries.
But what does the function do ?
You run a query thru it BUT it doesn't buffer the output which reduces memory usage and a small speed increase.
Since the result is unbuffered you need to fetch all data or else the result gets lost, so it puts the result in a rowset (sql_fetchrowset) and returns all data unbufferd.
example:
| PHP: |
$smilies = $db->sql_fetch_unbuffered_rowset('SELECT * FROM '.$prefix.'_bbsmilies', __FILE__, __LINE__);
|
This way you have all needed data fast in a rowset without bloating the system. The old depreciated way is
| PHP: |
$result = $db->sql_query('SELECT * FROM '.$prefix.'_bbsmilies', false, __FILE__, __LINE__); $smilies = $db->sql_fetchrowset($result); $db->sql_freeresult($result);
|