Some more performance measuring for database stuff
This commit is contained in:
		
					parent
					
						
							
								e96bcb8512
							
						
					
				
			
			
				commit
				
					
						1be5275eef
					
				
			
		
					 1 changed files with 26 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -664,16 +664,24 @@ class dba {
 | 
			
		|||
	 * @return array current row
 | 
			
		||||
	 */
 | 
			
		||||
	public static function fetch($stmt) {
 | 
			
		||||
		$a = get_app();
 | 
			
		||||
 | 
			
		||||
		$stamp1 = microtime(true);
 | 
			
		||||
 | 
			
		||||
		$columns = [];
 | 
			
		||||
 | 
			
		||||
		if (!is_object($stmt)) {
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		switch (self::$driver) {
 | 
			
		||||
			case 'pdo':
 | 
			
		||||
				return $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
				$columns = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
			
		||||
				break;
 | 
			
		||||
			case 'mysqli':
 | 
			
		||||
				if (get_class($stmt) == 'mysqli_result') {
 | 
			
		||||
					return $stmt->fetch_assoc();
 | 
			
		||||
					$columns = $stmt->fetch_assoc();
 | 
			
		||||
					break;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				// This code works, but is slow
 | 
			
		||||
| 
						 | 
				
			
			@ -698,12 +706,14 @@ class dba {
 | 
			
		|||
				$result = $stmt->result_metadata();
 | 
			
		||||
				$fields = $result->fetch_fields();
 | 
			
		||||
 | 
			
		||||
				$columns = [];
 | 
			
		||||
				foreach ($cols_num AS $param => $col) {
 | 
			
		||||
					$columns[$fields[$param]->name] = $col;
 | 
			
		||||
				}
 | 
			
		||||
				return $columns;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		$a->save_timestamp($stamp1, 'database');
 | 
			
		||||
 | 
			
		||||
		return $columns;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
| 
						 | 
				
			
			@ -1287,17 +1297,27 @@ class dba {
 | 
			
		|||
	 * @return boolean was the close successful?
 | 
			
		||||
	 */
 | 
			
		||||
	public static function close($stmt) {
 | 
			
		||||
		$a = get_app();
 | 
			
		||||
 | 
			
		||||
		$stamp1 = microtime(true);
 | 
			
		||||
 | 
			
		||||
		if (!is_object($stmt)) {
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		switch (self::$driver) {
 | 
			
		||||
			case 'pdo':
 | 
			
		||||
				return $stmt->closeCursor();
 | 
			
		||||
				$ret = $stmt->closeCursor();
 | 
			
		||||
				break;
 | 
			
		||||
			case 'mysqli':
 | 
			
		||||
				$stmt->free_result();
 | 
			
		||||
				return $stmt->close();
 | 
			
		||||
				$ret = $stmt->close();
 | 
			
		||||
				break;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		$a->save_timestamp($stamp1, 'database');
 | 
			
		||||
 | 
			
		||||
		return $ret;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue