pconnect & CREATE TEMPORARY TABLE

alpes

Весь мир на ладони
pconnect & CREATE TEMPORARY TABLE

При использовании коннекта к БД с пом. ф-ии mysql_pconnect при создании временной таблицы (CREATE TEMPORARY TABLE mytable ...) выдается ошибка: Table 'mytable' already exists. Причем в редких случаях это место проскакивало нормально.
Если же для коннекта использовать ф-ию mysql_connect - все работает корректно.
Помогите разобратсься, в чем может быть проблема?!

PHP Version 4.3.0
Apache 1.3.27
MySQL 3.23.49
 

alpes

Весь мир на ладони
Имело место появление ошибки мускула "Got error 24 from table handler". Хотя и выскакивала раз в 1,5~2 месяца, но все же была очень и очень неприятной. Провайдер причины сбоя не нашел и естно ничего не подправлял, на то месть настоял на использовании pconnect. Им же, до этого, был надан скрипт переписывающий обработчики сессий через БД и при такой схеме необходимо что бы в скриптах соединение с БД не закрывалось, т.е. чтобы работал механизм сессий необходимо отказаться от ф-ии mysql_close(). Необходимость в наданном обработчике была объяснена тем что при стандартном на хосте что-то может не совсем корректно работать.
Собственно вот такая предыстория.
 

Demiurg

Guest
Мда ... странный у тебя провайдер.
Вообщем то сессии через бд реализуются и без pconnect. Они что там, все во временных таблицах хранят ? И почему нельзя использовать стандартный механизм сессий ?
 

alpes

Весь мир на ладони
С сессиями проблем не было, они действительно работали и без pconnect. Сейчас все поставил работать на connect, пока не уберу проблему с TEMPORARY TABLE, уж очень не хотелось бы работать через php, вместо использования временных таблиц.
Так а что собственно, нельзя использовать pconnect и CREATE TEMPORARY TABLE вместе, или это что-то не совсем так на провайдере?!
 

Romantik

TeaM PHPClub
Я тут пытался начать работать с TEMPORARY и у меня вылазили подобные как у тебя траблы.

После общения с Апельсинкой я отказался от этой затеи в пользу HEAP или обычных таблиц, потому как обычно логика проходит не через один скрипт и в каждом подключается файл с connect.
 

alpes

Весь мир на ладони
Что же тогда вообще отказатся от TEMPORARY TABLE? Все таки они очень полезны и удобны. У меня проблем с mysql_connect замечено не было! Но тогда скорее всего будет появлятся"Got error 24 from table handler"... да и для хостера, я так понял, будет возрастать какая-то нагрузка на сервер.
Собственно чтобы обойти все подводные камни собираюсь заганять результаты выборки в память php (в массивы) и уже ею манипулировать.
Искренне буду признателен за предложение более оптимального и правильного варианта решения.
 

Romantik

TeaM PHPClub
Можно, только когда логика проходит через один скрипт.
TEMPORARY в основном для обхождения отсутствия вложенных запросов (с).
 

si

Administrator
понятно что передавать данные между скриптами в TEMP табле НЕ НАДО, они не для этого созданы
 

alpes

Весь мир на ладони
"DROP TABLE mytable" перед CREATE TEMPORARY TABLE спасло отца русской демократии ;)
 

apatit_ru

Guest
Добрый день!

Скажите, а насколько сильно нагрузит сервер такая последовательность действий:

1) для каждого коннекта создать свою таблицу (имена таких таблиц держать в спец. заведенной для этого таблице ид, имя);

2) после работы с этой таблицей удалить ее.
 

Demiurg

Guest
ты руками повторяешь механихм временных таблиц
 

apatit_ru

Guest
ну, если такая засада бывает с временными таблицами...

к тому же все-таки инфтересно, сильно ли это нагружает сервер?
 

Demiurg

Guest
какая такая засада ?

создание таблицы - операция не самая быстрая наверно.
 
Сверху