Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
(INSERT и DEL) vs (CREATE TEMP TABLE и DROP) (Andrew) 10/09/2004 - 11:51:56
      Re: (INSERT и DEL) vs (CREATE TEMP TABLE и DROP) (Alec) 10/09/2004 - 13:56:49
      Re: (INSERT и DEL) vs (CREATE TEMP TABLE и DROP) (Андрей) 10/09/2004 - 19:34:29

> Original message text:
> From: Andrew - 10/09/2004 - 11:51:56
> Subject:(INSERT и DEL) vs (CREATE TEMP TABLE и DROP)
> -----------------
> Помогите с выбором реализации плз.
> Что лучше(правильней/эффективней) использовать в ниже приведенной конструкции?
> 1. оставить как есть CREATE TEMPORARY TABLE и DROP,
> 2. заменить на INSERT и DELETE, предварительно создав временные таблицы,
> 3. или это вообще не эффективно и надо как то все переиначить.
>
>
> Вот такая вот конструкция:
> --------------------------------------
> @{$hash{1}} = (1,2);
> @{$hash{2}} = (1);
> @{$hash{3}} = (1,2,3);
> $p_req = qq 'structure as t1, structure as t2 ';
> foreach $num_essence (keys %hash) {
> foreach $num_element (@{$hash{$num_essence}}){
> $rows = $dbh->do (qq{
> CREATE TEMPORARY TABLE tmp1
> SELECT t2.*
> FROM $p_req
> WHERE t1.num_essence = $num_essence
> AND t1.num_element = $num_element
> AND t2.num = t1.num});
> $p_req = qq 'tmp2 as t1, structure as t2 ';
> $dbh->do (qq{DROP TABLE IF EXISTS tmp2 });
> $dbh->do (qq{CREATE TEMPORARY TABLE tmp2 SELECT * FROM tmp1 });
> $dbh->do (qq{DROP TABLE tmp1 });
> }
> }
> --------------------------------------------
>
> Андрей М.
> mysql Ver 11.18 Distrib 3.23.58, for portbld-freebsd5.2.1 (i386)
>


From: Alec - 10/09/2004 - 13:56:49
Subject:(INSERT и DEL) vs (CREATE TEMP TABLE и DROP)
-----------------
правильно имхо ты все написал
временные таблицы оптимизированы под скорость
если таблицы не сильно очень большие, то их вообще разместить бы в памяти
и второе

стирать временные таблицы не надо.. совсем не надо
это написано в RTFM
они сами собой удалятся по закрытию сессии



[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
17162



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |