2011-01-05 4 views
0

Faily new для php и mysql, это, вероятно, будет казаться очень грязным.mysql несколько запросов таблицы внутри php loop

Это то, что я придумал:

$query = "show tables like 'whatever%'"; 
$result = mysql_query($query); 
$num_results = mysql_num_rows($result); 

for ($i = 0; $i < $num_results; $i++) 
{ 
$row = mysql_fetch_array($result); 
$sql=mysql_query("SELECT * FROM ". $row[0] ." WHERE a=(SELECT MAX(a)) AND b=(SELECT MAX(b)) AND c LIKE 'd%' ORDER BY date DESC LIMIT 1"); 


while($info=mysql_fetch_array($sql)){ 
    echo "..."; 
} 
} 

я получаю желаемое значение из каждой таблицы, так что х результаты в зависимости от количества таблиц. Я хотел бы получить результаты запросов, но показывать только 10-5, отсортированные по дате/времени.

Возможно ли это с помощью текущего скрипта? Есть ли более простой способ (в то время как количество таблиц постоянно меняется)? Является ли этот метод запросов интенсивностью базы данных?

Cheers!

+0

Какая у вас цель? echo (нет необходимости хранить в php var) некоторые поля из X последних строк, удовлетворяющих максимальным условиям из любой таблицы, начинающейся с «что угодно»? –

+0

Если x = 100 таблиц, я получаю значение (ы)/вывод на таблицу, мне нужно только 10 из 100 таблиц, а 10 - самые последние. – Alfie

ответ

0

Я вызываю постоянно меняющееся количество таблиц, имеющих сходную структуру, конструктивную ошибку. также запрос выключателя на

$sql=mysql_query("SELECT * FROM $tbl WHERE c LIKE 'd%' ORDER BY a DESC, b DESC, date DESC LIMIT 1"); 

немного облегчение базы данных.

+0

Спасибо за ответ, к сожалению, это не решает мою проблему. Некоторые страницы моего сайта действуют как мини-базы данных, когда страница загружается, запрашивается таблица, соответствующая странице. У меня была одна таблица, но она боялась, что запрос большого количества данных каждый раз, когда загружается страница, не очень хорош, т. Е. Моя проблема. Если, конечно, ни одна таблица не оказывает существенного влияния на эффективность? – Alfie

+0

http://dev.mysql.com/doc/refman/5.1/ru/partitioning.html –

+0

http://dev.mysql.com/doc/refman/5.1/en/mysql-indexes.html –

Смежные вопросы