note 107371 added to function.mysql-fetch-field

From: Date: Sat, 04 Feb 2012 13:08:14 +0000
Subject: note 107371 added to function.mysql-fetch-field
Groups: php.notes 
Request: Send a blank email to php-notes+get-185850@lists.php.net to get a copy of this message
Performance Notes! I used this script for testing, the table has 26 colums. <?php $t_start = microtime(true); $sql = mysql_query("SELECT * FROM table LIMIT 1") or trigger_error(mysql_error(), E_USER_WARNING); for ($i = 0; $i < mysql_num_fields($sql); $i++) { $meta = mysql_fetch_field($sql, $i); echo "Information for column ".$meta->name.":\n"; echo "\tblob: $meta->blob \tmax_length: $meta->max_length \tmultiple_key: $meta->multiple_key \tname: $meta->name \tnot_null: $meta->not_null \tnumeric: $meta->numeric \tprimary_key: $meta->primary_key \ttable: $meta->table \ttype: $meta->type \tunique_key: $meta->unique_key \tunsigned: $meta->unsigned \tzerofill: $meta->zerofill "; } $t_stop = microtime(true); $t_proc = $t_stop - $t_start; echo "processing time query 1: ".number_format($t_proc * 1000, 3)." ms\n"; unset($t_start); unset($t_stop); unset($t_proc); $t_start = microtime(true); $sql = mysql_query("DESCRIBE table"); while ($res = mysql_fetch_array($sql, MYSQL_ASSOC)) { print_r($res); } $t_stop = microtime(true); $t_proc = $t_stop - $t_start; echo "processing time query 2: ".number_format($t_proc * 1000, 3)." ms\n"; ?> Query 1 => 0.444 ms Query 2 => 1.146 ms So for easy usage, Query 2 is advised... But if your a performance-geek, you should use Query 1. ---- Server IP: 212.63.222.76 Probable Submitter: 77.165.246.77 ---- Manual Page -- http://www.php.net/manual/en/function.mysql-fetch-field.php Edit -- https://master.php.net/note/edit/107371 Del: integrated -- https://master.php.net/note/delete/107371/integrated Del: useless -- https://master.php.net/note/delete/107371/useless Del: bad code -- https://master.php.net/note/delete/107371/bad+code Del: spam -- https://master.php.net/note/delete/107371/spam Del: non-english -- https://master.php.net/note/delete/107371/non-english Del: in docs -- https://master.php.net/note/delete/107371/in+docs Del: other reasons-- https://master.php.net/note/delete/107371 Reject -- https://master.php.net/note/reject/107371 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#185850) next »