Я возьму NUMERIC или DOUBLE PRECISION

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 29 янв 2008, 17:55

неточность вещественных чисел не является секретом, об этом написано на каждом столбу, и есть туча статей. Самая обширная тут:
http://www.delphikingdom.com/asp/viewit ... alogid=374
прошел я этот тест
тебе повезло - тыкал на ряд вопросов наобум. Если бы это был экзамен, я бы у тебя его не принял :) например, в теме мусора (версионности) ты плаваешь конкретно.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 29 янв 2008, 18:10

студент-практикант писал(а):прошел я этот тест, не понятные какие-то вопросы попадаются, зачем они нужны такие,
Плачу навзрыд :lol: :lol: :lol:

Джентельмены, чота мне здаёццо, что это кто-то из своих очень круто прикалываеццо :lol:

студент-практикант
Сообщения: 60
Зарегистрирован: 14 дек 2007, 10:56

Сообщение студент-практикант » 29 янв 2008, 18:34

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

а можно вопрос?
у меня неправильный был ответ
gbak -c db.gbk db.gdb НЕ приводит к сборке мусора
а у меня в книжке написано только что параметр -с означает, что будет создан новый файл БД, а если файл под таким именем уже есть, то процесс будет остановлен с ошибкой, а про мусор ничего с этим ключом не сказано :(

и еще вопрос
а кстати почему в тесте вопросы - точность типа float (максимальное число знаков) это к тесту общих знаний по Firebird как относится, почему? и подобные вопросы

студент-практикант
Сообщения: 60
Зарегистрирован: 14 дек 2007, 10:56

Сообщение студент-практикант » 29 янв 2008, 18:54

а еще есть какие-нибудь тесты или только один, это же хорошо, есть возможность узнать то, чего не знал раньше.
а тесты не на время? а так же можно и в любую книжку подглядеть или в статью посмотреть чего забыл, а так ведь не честно?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 29 янв 2008, 20:02

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

о чем я тебе и говорю - в вопросах версионности и сборки мусора ты плаваешь.
точность типа float (максимальное число знаков) это к тесту общих знаний по Firebird как относится, почему?
потому что это тип данных. человек, который работает с сервером, обязан знать его типы данных.
а еще есть какие-нибудь тесты
пока только один.
а тесты не на время? а так же можно и в любую книжку подглядеть
не на время. и - умение пользоваться литературой тоже засчитывается в плюс.

студент-практикант
Сообщения: 60
Зарегистрирован: 14 дек 2007, 10:56

Сообщение студент-практикант » 29 янв 2008, 20:31

это вопрос на сообразительность. восстановление из бэкапа не имеет ничего общего со сборкой мусора. Поэтому это и есть единственно правильный ответ.
у меня? перепутал ты все, я же и пишу, это у меня как раз неправильный ответ
точность типа float (максимальное число знаков) это к тесту общих знаний по Firebird как относится, почему?
потому что это тип данных. человек, который работает с сервером, обязан знать его типы данных.
максимальное число знаков типа float?? сколько знаков после запятой.. особенный вопрос к Firebird? ... ну не знаю, не знаю... не понятно... ну если конечно можно пользоваться литературой...
не на время. и - умение пользоваться литературой тоже засчитывается в плюс.

понятно, тогда только так все можно посмотреть, инет то под рукой и книжки тоже, тогда так можно тут же и запрос посмотреть select 1/3 from rdb$database чего выдаст если не знаешь и тут же в тест вписать

студент-практикант
Сообщения: 60
Зарегистрирован: 14 дек 2007, 10:56

Сообщение студент-практикант » 29 янв 2008, 20:41

select count(*) from table1 мусор же собирает в table1, можно и бат файл же написать (isql взять), чтоб подчищал

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 29 янв 2008, 22:07

студент-практикант писал(а):select count(*) from table1 мусор же собирает в table1
Зависит от транзакции. И от коннекта.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 29 янв 2008, 23:26

у меня? перепутал ты все, я же и пишу, это у меня как раз неправильный ответ
задолбал, ей-богу:

Какой из перечисленных ответов НЕ приводит к сборке мусора?
gbak -c db.gbk db.gdb
обычная работа с БД
gbak -b db.gdb db.gbk
gfix db.gdb -sweep

(порядок ответов - рандомный, как и порядок вопросов)

Ты на этот вопрос вообще ничего не ответил.
неответ считается как неправильный ответ.
максимальное число знаков типа float?? сколько знаков после запятой.. особенный вопрос к Firebird? ... ну не знаю, не знаю... не понятно... ну если конечно можно пользоваться литературой...
охрененно сложный вопрос. ты кстати ни про double precision ни про float не ответил. не знать макс-число цифр для конкретных вещественных типов - позор. Достается из datadef.pdf за 5 сек.
Я ж говорю - не знаешь ответ но умеешь его найти - это только в плюс.
понятно, тогда только так все можно посмотреть
а ты посмотрел? нет, ты посидел 15 минут, и решил, что упарился, "сойдет и так".

то есть, резюме такое:
- знания поверхностные, частично основаны на "мифах", бытующих на форумах или передаваемых "испорченным телефоном"
- по сборке мусора вообще провал, тотальный
- в документацию или статьи лазить не любишь
- правда, IBExpert-ом (или чем там) пользоваться умеешь

студент-практикант
Сообщения: 60
Зарегистрирован: 14 дек 2007, 10:56

Сообщение студент-практикант » 30 янв 2008, 13:23

WildSery писал(а):
студент-практикант писал(а):select count(*) from table1 мусор же собирает в table1
Зависит от транзакции. И от коннекта.
Зависит от транзакции и от коннекта... А можно уточнить... Если я просто в IBExpert скажем напишу запрос select count(*) from table1 у меня мусор в table1 не удалится или скажем бат файл тот же запрос запустит... а в клиентском приложении у меня вообще один коннект к базе IBDataBase одна штука....
зависит от транзакции и от коннекта, т.е. чего запрос мусор не собирает?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 30 янв 2008, 14:38

Если я просто в IBExpert скажем напишу запрос select count(*) from table1 у меня мусор в table1 не удалится или скажем бат файл тот же запрос запустит... а в клиентском приложении у меня вообще один коннект к базе IBDataBase одна штука....
http://www.ibase.ru/devinfo/mga.htm
www.ibase.ru/devinfo/garbage.htm
www.ibase.ru/devinfo/summary.htm

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 30 янв 2008, 14:41

Ох не любишь ты доку читать... Когда говоришь, что вот такой запрос соберёт мусор, то надо уточнять, при каких условиях.
Скажем, если в параметрах коннекта no_garbage_collect, мусор не будет собираться этим коннектом вообще.
Если у тебя где-то висит снэпшот-транзакция, то мусор не будет собираться, потому что все записи не будут считаться мусором.
Есть и ещё возможные причины "несбора" мусора, тут на сайте несколько статей полезных на эту тему, вон Дмитрий как раз в них тыкает.

студент-практикант
Сообщения: 60
Зарегистрирован: 14 дек 2007, 10:56

Сообщение студент-практикант » 30 янв 2008, 22:50

Там много, но я все прочитаю! Чего не читал! А можете сейчас сказать про запрос? :)
пожалуйста :D :wink: :D

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 31 янв 2008, 12:45

Там много
там много только если ты по слогам читаешь, указывая пальцем и шевеля губами.
А можете сейчас сказать про запрос?
про какой запрос?

студент-практикант
Сообщения: 60
Зарегистрирован: 14 дек 2007, 10:56

Сообщение студент-практикант » 02 фев 2008, 17:25

все тот же запрос select count(*) from table1
если в IBExpert его запустить или через isql, админом на сервере, мусор в таблице table1 не собирется что ли я не пойму :?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 03 фев 2008, 01:08

мусор в таблице table1 не собирется что ли я не пойму
тьфу, блин. читай опять, что такое мусор. мусор - это версии записей, которые не нужны ни одной транзакции. Если select count "мусор" не собирает, значит "мусора" НЕТ.

p.s. я фигею, якобы все по пять раз перечитал, и так ничего и не понял :)

студент-практикант
Сообщения: 60
Зарегистрирован: 14 дек 2007, 10:56

Сообщение студент-практикант » 03 фев 2008, 14:01

Если select count "мусор" не собирает, значит "мусора" НЕТ.
о! так я ж и про тоже и говорю, если есть мусор в table1, то соберет, тоже один из способов следить за бд, скажем раз в день выполнять запрос, простой, хороший способ :) обратился ко всем записям в таблице и мусор убрался.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 03 фев 2008, 18:02

обратился ко всем записям в таблице и мусор убрался.
проще и лучше запустить sweep - www.ibase.ru/devinfo/sweep.htm

и все равно - если висит активная транзакция, то ни свип ни count могут не помочь
www.ibase.ru/devinfo/summary.htm

p.s. похоже, уже начинаем переливать из пустого в порожнее...

студент-практикант
Сообщения: 60
Зарегистрирован: 14 дек 2007, 10:56

Сообщение студент-практикант » 03 фев 2008, 20:17

проще и лучше запустить sweep
почему лучше? чем лучше, если необходимость в одной таблице подчищать данные раз в месяц, а в другой таблице каждый день и тем более -->
и все равно - если висит активная транзакция, то ни свип ни count могут не помочь
почему могут не помочь, точнее, ведь они просто не помогут..., скажем если повесить транзакцию на часок, другой, то мусор этой транзакции не соберется
p.s. похоже, уже начинаем переливать из пустого в порожнее...
да я вообще общительный такой и всех людей люблю :) :) люблю всех сильно! :D

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 03 фев 2008, 22:13

чем лучше, если необходимость в одной таблице подчищать данные раз в месяц
конечно, иногда так делают. но по большому счету это муть полная - управлять транзакциями надо так, чтобы сборка мусора работала нормальным, естетственным способом. А для случаев, описанных в
www.ibase.ru/devinfo/garbage.htm - да, можно, только надо смотреть, что будет быстрее, свип или select count.
мусор этой транзакции не соберется
нет никакого "мусора этой транзакции". Есть мусор вообще. Если транзакция активна и ничего не делает, то она препятствует (!) превращению версий в "мусорные" ПО ВСЕЙ БД.
Т.е., ты опять ничего не понял? :)
да я вообще общительный такой
да дело не в этом. Мы ведем дискуссию на пустом месте. В той же статье mga.htm описано все предельно просто и понятно. Бывают, конечно, курсанты, которым на очных курсах приходится по три раза все объяснять, но очень редко...

Ответить