|
|
|
Временные таблицы
|
|||
|---|---|---|---|
|
#18+
Если ли в MA 2000 возможность создания временных таблиц? Чтоб для каждого сеанса была своя табличка! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2003, 11:08 |
|
||
|
Временные таблицы
|
|||
|---|---|---|---|
|
#18+
типа каков вопрос - таков ответ! Типа конкретика здесь лишней не будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2003, 11:32 |
|
||
|
Временные таблицы
|
|||
|---|---|---|---|
|
#18+
Насколько я разбираюсь в апельсинах, таблица создается в файле. Соответственно, надо позаботиться - либо чтобы два юзера (и даже две сессии) не пользовались одним файлом, либо чтобы во временной таблице был ключ, включающий ID юзера (и чтобы стиралась не таблица, а только записи). Пусть старшие товарищи меня поправят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2003, 11:36 |
|
||
|
Временные таблицы
|
|||
|---|---|---|---|
|
#18+
Возможности создавать временные таблицы для сессии в акесе нет. Хотя в синтаксисе Jet SQL есть Create temporary table, но данная конструкция не работает,а если бы и работала - то таблица была бы глобальной. Лучше создать таблицу явно (постоянную) - а далее как у Саныча ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2003, 13:41 |
|
||
|
Временные таблицы
|
|||
|---|---|---|---|
|
#18+
Если в базе постоянно добавлять/удалять записи - она весьма быстро вырастет. Ее надо будет слишком часто сжимать. У меня всякий мусор храниться в отдельной базе. У каждого юзера - своя (локальная). Плюсы такого подхода: 1. Скорость выше (база на локальном компе лежит) 2. Не надо беспокоиться об ID юзера 3. Юзеры друг другу не мешают (блокировки etc) 4. Т.к. база отдельная - ее можно по окончании работы с временными таблицами сжимать (см. 1-е предложение) 5. Если не хочется базу сжимать - ее можно выгружать с сервера при начале работы (у меня logon-скриптами) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2003, 13:51 |
|
||
|
Временные таблицы
|
|||
|---|---|---|---|
|
#18+
2ЛОХ: даже для локальных таблиц не мешало бы добавить id сессии, при запуске экземпляра приложения присваивать ему новый id (счетчик). Таблицу(ы) сначала пытаться создать, если нет (занята другой сессией) - писать в нее, но с текущим id сессии. Таблицы с настройками оставить "сессия-независимыми". - для возможности одновременного запуска пары (и более) сессий с одного компа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2003, 14:21 |
|
||
|
Временные таблицы
|
|||
|---|---|---|---|
|
#18+
Таблицу(ы) сначала пытаться создать Зачем?? Лучше я сам создам эту таблицу (руками) и потом оно выгрузится пользователям. Так что приложение работает исходя из того, что таблица есть. Что такое ID сессии я не понял. Это на случай когда левая рука не знает, что делает правая? Т.е. одна временная таблица предназначена для одновременного использования из кучи мест в программе, причем (условно) одновременно? Тогда да, надо дополнительный идентификатор писать. Иногда так и делаю. Таблицы с настройками оставить "сессия-независимыми". Если настройки (пользователя) хранить в локальной таблице - нельзя будет выгружать базу с сервера. Т.е. имеем гемор со сжатием (а то и восстановлением) локальной базки. Не страшно, но я предпочитаю большинство настроек хранить в реестре (типа положения формочек, ширину столбцов и т.п.). Эти настройки еще и кочуют с компа на комп вслед за пользователем (профиль перемещаемый). Если настройки хранить надо в таблицах - лучше в серверных с указанием id юзера. Для скорости их можно кешировать на клиенте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2003, 14:32 |
|
||
|
Временные таблицы
|
|||
|---|---|---|---|
|
#18+
Протупил насчет id сессии Видимо имелся в виду случай, когда одну апликацию два раза запускают с одного компа? Тогда да, нужон id. Но для меня это неактуально, ибо я противник запуска одной аксесовской базы дважды, соответственно оно у меня на фирме и не практикуется. Если кому-то все-таки надо работать с двумя базами - тогда ему две разные апликации делаются и смотрят они на разные локальные мдб-шники. Но это уже дело вкуса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2003, 14:43 |
|
||
|
Временные таблицы
|
|||
|---|---|---|---|
|
#18+
>>Лучше я сам создам эту таблицу (руками) ...ну, это я о своем, о девичьем... типа когда надоедает создавать _руками_ пишется кусок кода и мигрирует потом из приложения в приложения. Пользователь запущает в первый раз приладу - тут ему и создаются пути, tmp файлы, tmp таблицы. Ага. Или не создаются - если все это уже есть (т.е. запуск не первый). А множество сессий желательно предусмотреть, поскольку народец любит дублировать решения путем копирования и в некоторых случаях желает открывать несколько копий одного приложения, возможно с различными данными, одновременно. Если пути и временные таблицы у них общие, то разделение данных можно производить за счет уникального id, но не юзера, как предлагается выше (для серверного расположения), а "сессии". При (очередном) запуске прилады вы просто генерите первым делом этот id в соответствующей таблице (после естественно отработки упомянутого кода генерации/проверки таблиц). И юзаете во всех запросах "сессии". Удаление незаблокированных таблиц (пересоздание) служит для очистки временных таблиц от данных прошлых сессий. (а "сессие-независимость" настроек упомянута в том смысле, что настройки то и не трогаем... на "сервере" действительно лучше). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2003, 15:04 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32214502&tid=1680387]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
63ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 369ms |

| 0 / 0 |
