|
|
|
Модификация метеденных
|
|||
|---|---|---|---|
|
#18+
Временные таблици. Их нет, а они нужны . Насколько стабильно будет работать FB при частом create/drop table без постоянных backup/restore? Все бы было хорошо если бы я не набрел на http://ibase.ru/devinfo/ibfaq.htm#1.62 и http://ibase.ru/devinfo/metaver.htm Вот они и подорвали мою веру в FB. P.S. И вообще очень хочется нечто типа: create [temp] table from select... А нету... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2003, 11:12 |
|
||
|
Модификация метеденных
|
|||
|---|---|---|---|
|
#18+
Я не совсем понял ... Для каких целей нужны временные таблицы? Между прочем есть совершенно иные методы работы ... могу рассказать ... Best regards, Dnico. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2003, 11:27 |
|
||
|
Модификация метеденных
|
|||
|---|---|---|---|
|
#18+
Да... Нет а хотелось бы конечно.. А так курсоров нема, viewы почти не работают ... Ща будем писать и надеятся что не будут так виснуть ХП... :| ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2003, 11:37 |
|
||
|
Модификация метеденных
|
|||
|---|---|---|---|
|
#18+
Господа .... FOR SELECT ... это почти тоже самое что и курсор или временная таблица. авторЩа будем писать и надеятся что не будут так виснуть ХП... :| Если зависнет - поставим памятник !!!! Best regards, Dnico. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2003, 11:42 |
|
||
|
Модификация метеденных
|
|||
|---|---|---|---|
|
#18+
Для каких целей. Вообще-то я спросил уже от того что устал доказывать рядомсидящим программистам, что временные таблици ненужны и вполне можно обойтись транзакцией snapshot и несколькоми запорсами. Просто чуствую что сил на споры с ними у меня неосталось и подготавливаю пути для отступления... Они пишут выходные формы на FastReport-е, десятки однотипных выходных форм, и еще очень нелюбят запросы на объединения Если нужно получить значения из двух таблиц я пишу нечто типа: Код: plaintext 1. 2. 3. 4. Они: Код: plaintext 1. 2. У меня просто закончилось терпение повторять одно и тоже, а в приказном порядке я тоже немогу действовать... Ну представь себе как это выглядело бы состороны: "20-тилетний сопляк (это я :)) учит программистов с 25-30 летним стажем как программы писать". Короче вы мне скажите будет оно нормально работать или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2003, 12:06 |
|
||
|
Модификация метеденных
|
|||
|---|---|---|---|
|
#18+
Ну конечно будет. И то и другое. Хотя первое решение наиболее удобнее. Best regards, Dnico. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2003, 12:52 |
|
||
|
Модификация метеденных
|
|||
|---|---|---|---|
|
#18+
Я вообще-то спрашивал про "частое create/drop table без постоянных backup/restore", а не про те запросы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2003, 13:19 |
|
||
|
Модификация метеденных
|
|||
|---|---|---|---|
|
#18+
Про создание/удаление таблиц могу сказать одно : База будет разрастаться на глазах ... Еще раз повторяю - самое лучшее и правлиьное решение : Использовать ХП. Best regards, Dnico. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2003, 13:26 |
|
||
|
Модификация метеденных
|
|||
|---|---|---|---|
|
#18+
>Andrey_ Позволю себе несколько замечаний к уже высказанным: 1. Нет такой ситуации, когда невозможно обойтись без временной таблицы. 2. В общем случае выполнение одного запроса всегда быстрее нескольких. При этом логика проще и понятней. 3. Твои "программисты" чего-то не догоняют...:) Если они действительно предлагают, как ты написал, то лично я сильно сомневаюсь в их квалификации... PS Интересны их аргументы за вр.тбл. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2003, 14:31 |
|
||
|
Модификация метеденных
|
|||
|---|---|---|---|
|
#18+
Просто так пишут все, кто пришел с Фокса :-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2003, 15:11 |
|
||
|
Модификация метеденных
|
|||
|---|---|---|---|
|
#18+
>Johnmen 1. Хм... ну например когда одни и теже данные должны быть видны в контексте нескольких транзакций. Возможно даже непересекающихся по времени. При этом исходные данные постоянно обновляются. Но в моем случае действительно всегда можно обойтись запросами в контексте одной транзакции. Правда прийдется в FastReport 2. Бесспорно. 3. Эти господа писали на FoxPro с момента его пявления. Отсюда и аргументация "У меня так было и оно работало, а главное все просто и понятно" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2003, 15:17 |
|
||
|
Модификация метеденных
|
|||
|---|---|---|---|
|
#18+
Johnmen1. Нет такой ситуации, когда невозможно обойтись без временной таблицы. Вообще-то есть, но КРАЙНЕ редко. С 1998 года я создал несколько достаточно сложных БД. И только один единственный раз не смог обойтись ХП - действительно требовались две временных таблицы. Жутко выпендрёжный отчёт понадобился заказчику. Я создал две обычных таблицы. Во время выполнения ХП сбрасывал туда результаты и затем объединив их в однин набор данных отправлял клиенту. Затем чистил таблицы. Чистил, а не удалял. Поэтому не было никакой надобности менять метаданные во время каждого такого отчёта. Частота надобности в этом отчёте была 1 или 2 раза в месяц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2003, 15:26 |
|
||
|
Модификация метеденных
|
|||
|---|---|---|---|
|
#18+
>Zmeishe Ну не могу я даже приблизительно представить ситуации, когда без вр.табл. никак и никуда...:) А то, что просто чистить, это верно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 12:00 |
|
||
|
Модификация метеденных
|
|||
|---|---|---|---|
|
#18+
Старый - престарый способ: 1. Раз без временных таблмц можно обойтись, то обходимся без них. 2. Раз при Create Table - Drop Table пухнет база до очередного Create/Restore - не делаем так. 3. Если нашелся такой случай, что без временных таблиц - никак, то действуем так: - "временная" таблица создается статически, т.е. один раз, при создании базы; - каждый юзер при коннекте получает свой User_Connect_Id (создайте специальный генератор для этого). - во временную таблицу данные пишутся с составным ключем, одним из полей которого является значение User_Connect_Id. Соответственно, остальные юзеры не видят эти записи (если не хотят их видет, конечно...) - в конце - не Drop Table, а delete from MyTable where User_Connect_Id = 9999... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 12:10 |
|
||
|
Модификация метеденных
|
|||
|---|---|---|---|
|
#18+
на www.interbase-world.com есть статья как можно имитировать временные таблиц дропать таблицу и создавать занова - это evil - начнут непропорционально разрастаться системные таблицы и очень скоро без backup/restore все начнет жутко тормозить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 12:17 |
|
||
|
Модификация метеденных
|
|||
|---|---|---|---|
|
#18+
И вообще, где-то я читал (один злобный Фокспрошник показывал, что ли?), что число модификаций метаданных в InterBase ограничено счетчиком с очень небольшим число значений, который сбрасывается только при Backup/Restore. Из этого было сделан вывод, что FoxPro - forever. Тем не менее, будте осторожны, меняйте методику работу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 12:41 |
|
||
|
Модификация метеденных
|
|||
|---|---|---|---|
|
#18+
Ну прально вы читали - 255 изменений кажись, а потом переполнение счётчика. В общем временные таблицы - это зло для IB/FB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 12:46 |
|
||
|
Модификация метеденных
|
|||
|---|---|---|---|
|
#18+
Интересно, а почему так было сделано? С т.зр. всемирно-исторической? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 12:48 |
|
||
|
Модификация метеденных
|
|||
|---|---|---|---|
|
#18+
>mv & Gold Правильно все вы читали: http://ibase.ru/devinfo/ibfaq.htm#1.62 и http://ibase.ru/devinfo/metaver.htm Только там написано "255 на одну таблицу", а не на всю БД. Вы господа меня убедили, буду с новыми сила со злобными фоксовскими привычками боротся :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 12:51 |
|
||
|
Модификация метеденных
|
|||
|---|---|---|---|
|
#18+
И индексы здесь пятнадцать раз при формировании отчета не построишь, до не просто по всяким-разным полям, а по функциям типа "как моя левая нога захочет", и индексы Ascending при сортировке Descending не работают (надо создавать еще раз, но Descend). В общем, это не FoxPro... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 12:55 |
|
||
|
Модификация метеденных
|
|||
|---|---|---|---|
|
#18+
JohnmenНу не могу я даже приблизительно представить ситуации, когда без вр.табл. никак и никуда...:) Тогда помоги, буду очень благодарен. Бухгалтерская программа. Таблица "Журнал операций" или ещё называют "Журнал проводок" В упрощенном варианте Id integer, Oper_date date, Debit integer, /*Код счёта по дебету из плана счетов*/ Kredit integer, /*Код счёта по кредиту из плана счетов*/ Summa double precision Задача - построить отчёт по форме облпотреб союза образца 1971 года. Это типа образец ----------------------------------------------------------------------------- | Дебет | Кредит | ----------------------------------------------------------------------------- |счёт | cумма частная | сумма общая | счёт |cумма частная | сумма общая | | Сальдо на 01.01.2003 <сколько-то> | ----------------------------------------------------------------------------- 41/01/01 | 100 р | <null> | 62/01/01 | 333 р | <null> | 41/01/02 | 200 р | <null> | 62/01/02 | 444 р | <null> | ------------------------------------------------------------------------------ | Сальдо на 01.02.2003 <сколько-то> | ----------------------------------------------------------------------------- 41/01/01 | 100 р | 200 р | 48/01 | 1111 р | <null> | 41/01/02 | 300 р | 500 р | 62/01/01 | 222 р | 555 р | 51/01 | 300 р | <null> | 62/01/02 | <null> | 444 р | В общем сложность в следующем - заранее не известно какие счета и сколько их каждый месяц по дебету и соответственно какие и сколько их по кредиту. В один месяц по дебету строк больше - недостающие строки кредита заполнить <null>, другой месяц по кредиту больше - недостающие строки дебета заполнить <null>. Какой-то счет например в марте имел обороты, а в апреле по нему движения не было. Это значит, что его всёравно надо занести в отчёт и по марту и по апрелю и по маю .. до конца года. Причём в каждом месяце дебетовая половинка этого отчёта должна быть отсортирована по возрастанию дебетовых счетов, а кредитовая половинка этого отчёта должна быть отсортирована по возрастанию кредитовых счетов. На сальдо не обращайте внимание оно как раз через ХП, а остальное так: несколькими ХП я заполняю две таблички одна по дебету, другая по кредиту, а затем их склеиваю, предварительно проанализировав и дополнив недостающие строки либо в одной либо в другой. Не сделав этого никакой join не даст верного (по деньгам) и желаемого по внешнему виду (т.е. по красоте) результату. Если у Вас возникли дополнительные (уточняющие вопросы) спрашивайте. Я давно хочу избавиться от этих двух таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 14:31 |
|
||
|
Модификация метеденных
|
|||
|---|---|---|---|
|
#18+
Я забыл образец оформить так, чтобы лучше было Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 14:40 |
|
||
|
Модификация метеденных
|
|||
|---|---|---|---|
|
#18+
Я эти ужасные таблицы формирую в вариантных динамических массивах, а потом бросаю в Excell, и сшивать не надо, и пусть бухгалтера сами думают, как все это распечатать. Естествено, за несколько проходов: - сначала формирую формирую загловки (горизонтальные и вертикальные), а затем - пробегаюсь еще раз - заплняю данными. Excel - очень классно. На любой принтер годится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 14:51 |
|
||
|
Модификация метеденных
|
|||
|---|---|---|---|
|
#18+
Я это рапечатываю в QuickReport несколько страничек (обычно 3-5) формата A4. Формируется всё на сервере. И бухгалтера заняты анализом эффективности работы предприятия, а не проблемой распечатывания. Я стараюсь не напрягать клиентов тем, что можно сделать программно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 14:56 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32349310&tid=1579522]: |
0ms |
get settings: |
12ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
78ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 411ms |

| 0 / 0 |
