TEMPORARY tables in MySQL

MySQL/PostgreSQL/SQLite/Oracle/M$SQL/....

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Gamerman
капитан
Сообщения: 1723
Зарегистрирован: 2009-05-17 21:01:23
Откуда: Украина, Ужгород - Днепр
Контактная информация:

TEMPORARY tables in MySQL

Непрочитанное сообщение Gamerman » 2011-01-06 17:21:37

A TEMPORARY table is visible only to the current connection, and is dropped automatically when the connection is closed.
Временная таблица видима только для текущего соединения.
Но если соединение создается с опцией автореконнект, то после автореконнекта вроде как уже другая сессия? Что будет с такой таблицей в данном случае?
Глюк глюком вышибают!

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

FiL
ст. лейтенант
Сообщения: 1375
Зарегистрирован: 2010-02-05 0:21:40

Re: TEMPORARY tables in MySQL

Непрочитанное сообщение FiL » 2011-01-07 19:51:58

ну как что... дропнется. А что ей еще делать?

Аватара пользователя
Gamerman
капитан
Сообщения: 1723
Зарегистрирован: 2009-05-17 21:01:23
Откуда: Украина, Ужгород - Днепр
Контактная информация:

Re: TEMPORARY tables in MySQL

Непрочитанное сообщение Gamerman » 2011-01-07 19:54:44

Ну как-то неправильно это. Работает софтинка в расчете на то, что темповая таблица существует, а тут бац, и нет ее.
Глюк глюком вышибают!

FiL
ст. лейтенант
Сообщения: 1375
Зарегистрирован: 2010-02-05 0:21:40

Re: TEMPORARY tables in MySQL

Непрочитанное сообщение FiL » 2011-01-07 21:40:17

значит не надо использовать временные таблицы там, где может произойти отключение клеинта.
Оно для этого не предназначено.
Как я понимаю, единственная радость временных таблиц в том, что в разных сессиях они разные при одном и том-же имени. А в остальном они вроде как от обычных не отличаются (ну если не считать, что автоматически зачищаются при закрытии сессии). Так что если софтинке нужна таблица, то пускай делает не временную и всё.

Аватара пользователя
Gamerman
капитан
Сообщения: 1723
Зарегистрирован: 2009-05-17 21:01:23
Откуда: Украина, Ужгород - Днепр
Контактная информация:

Re: TEMPORARY tables in MySQL

Непрочитанное сообщение Gamerman » 2011-01-08 9:49:57

Но в таком случае, при неудачном завершении работы софтинки, временные таблицы останутся на сервере. Кроме того, мне кажется, что работы с временными таблицами идет быстрее.
Глюк глюком вышибают!

FiL
ст. лейтенант
Сообщения: 1375
Зарегистрирован: 2010-02-05 0:21:40

Re: TEMPORARY tables in MySQL

Непрочитанное сообщение FiL » 2011-01-10 11:49:04

Gamerman писал(а):Но в таком случае, при неудачном завершении работы софтинки, временные таблицы останутся на сервере. Кроме того, мне кажется, что работы с временными таблицами идет быстрее.
быстрее - нет. С чего вдруг?
А то, что остаются... так вытам определитесь, хочется, чтоб оставались или чтоб не оставались?
А то "если я отвалился и буду переподключаться, то хочу, чтоб осталось, а если я отвалился потому, что сдох, то хочу, чтоб не оставалось". Это хорошо, но со стороны сервера это определить невозможно почему там клиент отвалился.

Аватара пользователя
Gamerman
капитан
Сообщения: 1723
Зарегистрирован: 2009-05-17 21:01:23
Откуда: Украина, Ужгород - Днепр
Контактная информация:

Re: TEMPORARY tables in MySQL

Непрочитанное сообщение Gamerman » 2011-01-10 12:00:16

По-поводу "быстрее" - ошибся, мне показалось, что где-то я читал об этом.
Плюс в том, что каждый пользователь может создавать временную таблицу с одинаковым именем, и они не будут конфликтовать.
Если ее не удалять (то есть делать ее не TEMPORARY), то при некорректном завершении работы программы они останутся на сервере. Будет мусор.

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

Разве плохое желание? ;-)
Глюк глюком вышибают!

FiL
ст. лейтенант
Сообщения: 1375
Зарегистрирован: 2010-02-05 0:21:40

Re: TEMPORARY tables in MySQL

Непрочитанное сообщение FiL » 2011-01-10 18:53:22

желание хорошее. Определить кто есть новый коннект, а кто старый переподключившийся не представляется возможным :(

Аватара пользователя
Gamerman
капитан
Сообщения: 1723
Зарегистрирован: 2009-05-17 21:01:23
Откуда: Украина, Ужгород - Днепр
Контактная информация:

Re: TEMPORARY tables in MySQL

Непрочитанное сообщение Gamerman » 2011-01-10 19:21:44

Ну, можно, например, при подключении запоминать номер коннекта, и перед использованием временной таблицы проверять его. Но тогда придется заново пересоздавать временную таблицу.
Глюк глюком вышибают!