Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Временные таблицы
 
 автор: Duran   (07.09.2006 в 10:31)   письмо автору
 
 

Необходимо создать таблицу, заполнить ее данными, кое-что по ним посчитать, обновить эту-же таблицу, вывести данные и... грохнуть сее творение :-).
Видать, temporary table мне в помоСчь :-). Да вот беда - не могу понять, как ей пользоваться, скоко она живет и када удаляется...

   
 
 автор: kolobokk   (07.09.2006 в 12:02)   письмо автору
 
   для: Duran   (07.09.2006 в 10:31)
 

а обычными методами типа create table.... drop table не легче?

   
 
 автор: cheops   (07.09.2006 в 12:42)   письмо автору
 
   для: Duran   (07.09.2006 в 10:31)
 

Да, здесь удобнее воспользоваться временными таблицами, пример работы с ними можно найти в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=278. Таблица уничтожается после того, как скрипт разрывает соединение с базой данных.

   
 
 автор: Duran   (07.09.2006 в 13:27)   письмо автору
 
   для: cheops   (07.09.2006 в 12:42)
 

Кхм..., жалко, что у меня локальной копии нет, а то бы посмотрел :-).
Видимо вы имели ввиду
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=278

   
 
 автор: cheops   (07.09.2006 в 13:32)   письмо автору
 
   для: Duran   (07.09.2006 в 13:27)
 

Да, конечно :)))

   
 
 автор: Trianon   (07.09.2006 в 13:11)   письмо автору
 
   для: Duran   (07.09.2006 в 10:31)
 

вот только... создать её на хостинге могут и не позволить....

   
 
 автор: cheops   (07.09.2006 в 13:35)   письмо автору
 
   для: Trianon   (07.09.2006 в 13:11)
 

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

   
 
 автор: Duran   (07.09.2006 в 13:45)   письмо автору
 
   для: cheops   (07.09.2006 в 13:35)
 

Проблема с хостером исключена. Сервер у меня за спиной в шкафу урчит :-).

На скоко я понял из приведенного примера, код типа:

CREATE TEMPORARY TABLE имя_вр_табл SELECT поле1,поле 2 FROM имя_род_табл

Создастся временная таблица со структурой и данными родительской таблицы ?
У меня дескриптор соединения хранится в сессии. Значит и таблицы будут жить, пока живет дескриптор ?

   
 
 автор: cheops   (07.09.2006 в 14:58)   письмо автору
 
   для: Duran   (07.09.2006 в 13:45)
 

Если соединение не закрывается - таблицы будут жить. Вы кстати можете организовать MEMORY-таблицу - она вообще будет постоянной и тоже в оперативной памяти, только её заполнять нужно будет по новой при каждой загрузки сервера. Или вам каждому посетителю свою таблицу нужно?

   
 
 автор: Duran   (07.09.2006 в 15:08)   письмо автору
 
   для: cheops   (07.09.2006 в 14:58)
 

Задача в общих чертах выглядит примерно так:

Для формирования сводного отчета берутся данные из таблицы, хранящей промежуточные значения. Обработка происходит по рекурсионному спуску с 4-мя уровнями вложенности и хотелось бы где-нить хранить промежуточные данные. После выхода из режима отчета расчитанные данные не нужны. Для каждого пользователя свой набор данных. Менять базовую таблицу не хочется. Вот я и подумал ...

ЗЫ Если можно. то про MEMORY таблицы в 2-х словах :-) Я такие не знаю

   
 
 автор: Loki   (07.09.2006 в 15:27)   письмо автору
 
   для: Duran   (07.09.2006 в 15:08)
 

таблица MEMORY - это типа виртуального диска. То есть существует она постоянно, но только в оперативной памяти. То есть обращений к диску не происходит.

   
 
 автор: cheops   (08.09.2006 в 01:16)   письмо автору
 
   для: Duran   (07.09.2006 в 15:08)
 

>ЗЫ Если можно. то про MEMORY таблицы в 2-х словах :-) Я такие не знаю
Новое название, до версии 4.1 этот тип таблиц называется HEAP.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования