|
|
|
Помогите с запросом, plz?
|
|||
|---|---|---|---|
|
#18+
Господа, помогите советом! Есть скрипт голосования. При запуске он выводит на экран все доступные на данный момент голосования и для каждого из них выводит пять последних голосов зарегистрированых мемберов. Таблицы организованы примерно таким образом: Таблица 1: (содержит названия голосований, ссылки и прочее...) voteid int(11) unsigned NOT NULL auto_increment, votename varchar(30) NOT NULL default '', ... PRIMARY KEY (voteid) Таблица 2: (в ней хранятся голоса мемберов) t_id int(11) unsigned NOT NULL auto_increment, voteid int(11) NOT NULL default '0', memb_id int(11) NOT NULL default '0', membvote tinyint(1) NOT NULL default '0', ... При выводе используется такое: // делаем выборку текущих голосований $sql = mysql_query("SELECT voteid,votename FROM table1"); while ($arr = mysql_fetch_array($sql)) { $tid = $arr['voteid']; // делаем выборку 5-ти последних голосов, для текущего голосования $sql1 = mysql_query("SELECT * FROM table2 WHERE voteid=$tid ORDER BY ratedate DESC limit 5"); while ($zarr = mysql_fetch_array($sql1)) echo $zarr['membvote']; } Т.е получается, что мы сперва делаем выборку по списку голосований, а потом для каждой отдельной позиции делаем запрос и берем 5 последних голосов. У меня вопрос. Можно ли как-то оптимизировать эту схему, свести в один запрос? Ведь когда, например, позиций будет сотни и большой поток посетителей, на мой взгляд это будет тормозить. Как вы думаете, как будет лучше? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2004, 00:17 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=682&tid=1855020]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
25ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
13ms |
get tp. blocked users: |
1ms |
| others: | 188ms |
| total: | 252ms |

| 0 / 0 |
