Найдено 144 результата

Кузнецов Евгений
14 мар 2007, 20:13
Форум: Опросы на форуме
Тема: Книга Хелен Борри, Firebird - ошибки, замечания, предложения
Ответы: 77
Просмотры: 85165

Доброго времени суток!

Тут появилась информация о дополнительном тираже книги. Это действительно допечатка или уже исправленное издание?
Если нет, то когда ждать?

P.S.
К сожалению, так и не добрался до поиска опечаток в 18-24 главах - нужна свободная неделька, и не знаю, когда будет :(
Кузнецов Евгений
14 мар 2007, 15:05
Форум: Проектирование БД и запросов
Тема: Оптимизация запроса
Ответы: 34
Просмотры: 22910

To S.H.S.

Да, и при переносе с IB 6/FB 1.0 имена ограничений не изменяются.
Видимо, и имена индексов остаются в старом формате.
Кузнецов Евгений
14 мар 2007, 13:36
Форум: Проектирование БД и запросов
Тема: Оптимизация запроса
Ответы: 34
Просмотры: 22910

Доброго времени суток! Я не хотел оптимизировать запрос, я хотел привести его в человеческий вид. А кто писал " Работает он крайне медленно, так как таблица base в 1000 раз больше таблицы goods. Помогите его оптимизировать."? :) На сервере с полной базой время выполнения в несколько раз больше. Да, ...
Кузнецов Евгений
13 мар 2007, 22:29
Форум: Проектирование БД и запросов
Тема: Оптимизация запроса
Ответы: 34
Просмотры: 22910

на fetches глянь. он вообще микроскопический. Да, правда. Только я понять не могу, почему в моем варианте он на порядок выше - на FB 1.5.3 соотношение обратное при практически идентичных планах (ну распределение данных в тестовом примере и у S.H.S, естественно, не совпадают, но не на порядки же) По...
Кузнецов Евгений
13 мар 2007, 21:06
Форум: Проектирование БД и запросов
Тема: Оптимизация запроса
Ответы: 34
Просмотры: 22910

Доброго времени суток! To S.H.S Спасибо за информацию. Хотел бы уточнить: 1) Правильно ли я понимаю, что копья ломались вокруг запроса с Execute time = 30ms? :) И это называются тормоза? 2) Впрочем, у Вас SS и так все сидит уже в кэше сервера или файловом кэше (везде Reads from disk to cache = 0), т...
Кузнецов Евгений
12 мар 2007, 23:06
Форум: Проектирование БД и запросов
Тема: Оптимизация запроса
Ответы: 34
Просмотры: 22910

все не так. если мы рассматриваем цену и наименование как атрибуты товара, то все здесь замечательно вплоть до третьей НФ. Это понятно, просто я свой частный случай - цена товара всегда с периодом действия - обобщил до "должно быть так у всех" :) To S.H.S Что тут не то... Вот я создал простенький т...
Кузнецов Евгений
12 мар 2007, 20:08
Форум: Проектирование БД и запросов
Тема: Оптимизация запроса
Ответы: 34
Просмотры: 22910

в goods - price-цена продажи на сегодня (меня не интересует вчерашняя цена) Ну что ж, видимо, здесь я не прав, прошу прощения. Привык, что цена всегда в отдельной таблице идет (c указанием периода действия), и попытался навязать свои представления в качестве стандарта :) Ваш запрос на FB2 - отрабат...
Кузнецов Евгений
12 мар 2007, 19:25
Форум: Проектирование БД и запросов
Тема: Оптимизация запроса
Ответы: 34
Просмотры: 22910

kdv писал(а):это почему же противоречит?
Цена товара вроде бы зависит также от времени, не только от идентификатора товара.
Можно, конечно, хранить только действующую цену - но какая же это БД,
если в ней нельзя посмотреть ситуацию на "вчера"?
Кузнецов Евгений
12 мар 2007, 18:44
Форум: Проектирование БД и запросов
Тема: Оптимизация запроса
Ответы: 34
Просмотры: 22910

А ведь ошибся - во-первых, сортировка должна идти по 3,2,
во-вторых, если g.goods_id - первичный ключ, то группировка
во втором запросе не нужна.

Кстати, правильно ли я понимаю, что Вы храните цену товара вместе
с его наименованием в таблице goods? Ведь это противоречит второй нормальной форме!
Кузнецов Евгений
12 мар 2007, 18:14
Форум: Проектирование БД и запросов
Тема: Оптимизация запроса
Ответы: 34
Просмотры: 22910

Доброго времени суток! TO "S.H.S" Ну зачем Вам группировать по 1,2,3,4,5,6,9,10,11,12,13? - естественно, будет тормозить. В предположении, что g.goods_id - первичный ключ, а каждый товар принадлежит не более одной категории, я бы написал следующее select b.goods_id,min(g.name), min(c.category), SUM(...
Кузнецов Евгений
11 мар 2007, 18:19
Форум: Проектирование БД и запросов
Тема: Оптимизация запроса
Ответы: 34
Просмотры: 22910

Переваривал запрос Кузнецова Евгения. НЕТ. Это не совсем то. Извините, ошибся. В общем случае без использования SP/Derived Tables/Execute Block, наверное, красиво, не получится Если Вас не затруднит код написать. У меня почему то теряются записи. Наверное, как и я, Вы условия в WHERE помещаете, а н...
Кузнецов Евгений
11 мар 2007, 14:31
Форум: Проектирование БД и запросов
Тема: Оптимизация запроса
Ответы: 34
Просмотры: 22910

Re: Оптимизация запроса

Доброго времени суток! Я бы, наверное, написал нечто вроде следующего (FB 1.5) SELECT c.category,g.name, SUM(CASE b.beznal WHEN 0 THEN 1 ELSE 0), SUM(CASE b.beznal WHEN 1 THEN 1 ELSE 0) FROM goods g inner join category c on g.category_id=c.category_id left join base b on g.goods_id=b.goods_id left j...
Кузнецов Евгений
09 мар 2007, 21:11
Форум: Вопросы создания клиентских и серверных приложений
Тема: IBX - корректная работа с транзакциями
Ответы: 20
Просмотры: 14095

В рамках пессимистического подхода предлагается следующий вариант функции сохранения, возвращающей результат: function WriteDatum(out ErrorMessage: string; out SQLCode, IBErrorCode: Longint): Boolean; begin Result:=False; ErrorMessage:=''; // Сообщение об ошибке SQLCode:=0; // Коды ошибки IBErrorCod...
Кузнецов Евгений
09 мар 2007, 19:54
Форум: Вопросы создания клиентских и серверных приложений
Тема: IBX - корректная работа с транзакциями
Ответы: 20
Просмотры: 14095

kdv писал(а):Кстати, при тщательном разборе кода оказалось, что код, который привел Каратаев в этом топике:
http://forum.ibase.ru/phpBB2/viewtopic.php?t=1444
избыточен.
Это код автора топика, просто там цитирование не поставлено.
Кузнецов Евгений
09 мар 2007, 18:25
Форум: Вопросы создания клиентских и серверных приложений
Тема: IBX - корректная работа с транзакциями
Ответы: 20
Просмотры: 14095

прошу ревизию www.ibase.ru/devinfo/ibx.htm#try Спасибо, все ясно, единственное замечание - на код TW.StartTransaction; try try Q1.ExecQuery; except TW.Rollback; Result:=False; // говорит о том что произошла ошибка end; finally if TW.InTransaction then begin TW.Commit; Result:=True // ошибок нет end...
Кузнецов Евгений
09 мар 2007, 13:19
Форум: Вопросы создания клиентских и серверных приложений
Тема: IBX - корректная работа с транзакциями
Ответы: 20
Просмотры: 14095

Commit - это применение тех изменений в транзакции, которые "прошли". Соответственно, это решает разработчик, что делать - Commit или rollback, если какой то из нескольких операторов не прошел. Насколько я представляю, в большинстве случаев делают rollback, иначе зачем тогда транзакция? т.е. я вооб...
Кузнецов Евгений
09 мар 2007, 10:28
Форум: Вопросы создания клиентских и серверных приложений
Тема: IBX - корректная работа с транзакциями
Ответы: 20
Просмотры: 14095

Доброго времени суток! To KDV Спасибо за внесение ясности. Статью www.ibase.ru/devinfo/ibx.htm я, естественно, смотрел, но, хоть убейте, примера корректной работы с транзакциями не нашел - все примеры сводятся к StartTransaction; .... Commit; даже без обработки исключений. Собственно, меня смутил Ва...
Кузнецов Евгений
08 мар 2007, 13:10
Форум: Вопросы создания клиентских и серверных приложений
Тема: IBX - корректная работа с транзакциями
Ответы: 20
Просмотры: 14095

IBX - корректная работа с транзакциями

Доброго времени суток! Хотя этот вопрос уже поднимался, остались моменты, которые я не совсем понимаю. Как правильно работать с транзакциями в IBX? На сегодняшний момент я делаю так 1) StartTransaction try <изменения> Commit; except RollBack; raise; end; что в общем, совпадает с кодом, который приво...
Кузнецов Евгений
14 фев 2007, 08:41
Форум: Баги и падения сервера
Тема: 100% загрузка проц
Ответы: 9
Просмотры: 8203

Доброго времени суток! Когда на IB4 работали, кодер за запрос без секции Plan получал люлей безоговорочно. Оптимизатор в IB 4, конечно, кривой, но не настолько же. У нас практически нигде PLAN нет, и работаем как-то. Конечно, есть некоторые ограничения на последовательность join (очень не любит inne...
Кузнецов Евгений
24 янв 2007, 11:00
Форум: Ремонт БД
Тема: IB 4, record xxx is wrong length
Ответы: 0
Просмотры: 4360

IB 4, record xxx is wrong length

Доброго времени суток! IB 4.0 (+ Patch #2 от 08.02.1995 + Patch 12.01.2001), Win 2kSP4 Вчера один нехороший человек (т.е. я) случайно снял 2 запроса, вставляющие записи в БД. Тут же сделали backup-restore в копию БД - в логах все было чисто, поэтому беспокоиться не стали. Сегодня утром до рабочего д...