The basic code:
<?php
$output = '';
$sql = 'SELECT * FROM {node} WHERE type = "%s"';
$result = db_query($sql, 'page');
while ( $data = db_fetch_object($result) ) {
$output .= '' . l($data->title, 'node/' . $data->nid) . '';
}
return $output;
?>
Using db_rewrite_sql()
Siempre utilicé una clase que hice hace algunos años para conectarme a mysql por medio del módulo mysql de PHP4. Hasta ahora que estoy usando en producción la extensión mysqli de PHP5 me doy cuenta de la diferencia en velocidad con la cual se manejan los datos.
Así que dejare de usar mi clase de MySQL para usar los comandos nativos de php5 con mysqli. ¡Es tan sencillo!
$sql = new MySQLi('localhost','user','pass','db');
$res = $sql->Query("SELECT foo,bar from table");
while($k = $res->fetch_object()) {
printf("%s - %s",$k->foo,$k->bar);
}
En el artículo Researching your MySQL table sizes se explica como controlar el tamaño de nuestras tablas e indices utilizando consultas bastante interesantes para todo DBA en MySQL.