Hello, All!
Возвращаясь к пройденной теме...
Итак, файл Optimize.cpp со строки 1584:
// Adjust the compound selectivity using the reduce factor.
// It should be better than the previous segment but worse
// than a full match.
const double diffSelectivity = scratch[i]-selectivity - selectivity;
Hello, Alexander!
Alexander Goldun wrote:
A good plan, not necessarily the best plan
Да ладно, с этим все ясно. План хороший, плохой, злой... :-)
Ты лучше скажи, как там у вас с пересчетом селективности
индексов - когда она делается?
--
Dmitri Kuzmenko, www.ibase.ru, (495) 953-13-34
Hello, Yuri!
You wrote to All on Tue, 27 Jun 2006 09:24:54 +0300:
YG ? Так, как она вычисляется сейчас получается, что любой индекс
YG фактически не будет использоваться... Нет ли здесь ошибки? Именно
YG так и задумывалось?
Вроде Влад всё объяснил. Если мы имеем запрос с или (=, =), В
Dmitri Kuzmenko пишет:
Ты лучше скажи, как там у вас с пересчетом селективности
индексов - когда она делается?
А зачем нужна селективность индексов если есть гистограммы распределения
значений в полях? Статистика собирается и апдейтится обычно
автоматически, но при необходимости есть
Yuri Grabar [EMAIL PROTECTED] wrote:
Вычисление результирующей селективности происходит немного станно...
Это алгоритм для композитов. Но похоже, что он же работает и для
односегментных индексов, а это не задумывалось. Проверяю сейчас.
--
Дмитрий Еманов
Horsun Vlad пишет:
Ты лучше скажи, как там у вас с пересчетом селективности
индексов - когда она делается?
А зачем нужна селективность индексов если есть гистограммы распределения
значений в полях?
Индексы бывают из более чем одного поля.
Понял. Увы, не вникал. Не владею вопросом.
Не понял вопроса. А в чем сомнения? Сейчас попробовал дропнуть
Пожалуй, дропанье статистики дало не очень показательный пример. Вот
имел честь наблюдать как расхождение, так и исправление. Вызвал по
другой базе следующее
call sa_get_histogram ('store_id','store_movement')
Получил для
Alexander Goldun ...
Не понял вопроса. А в чем сомнения? Сейчас попробовал дропнуть
Пожалуй, дропанье статистики дало не очень показательный пример. Вот
имел честь наблюдать как расхождение, так и исправление. Вызвал по
другой базе следующее
call sa_get_histogram
Vlad Horsun пишет:
А что ты ожидал там увидеть?
Документацию. а не
Это же общие фразы,
Именно документации предостаточно. А под предвзятостью я имел в виду не
столько приверженность к разным серверам, сколько твою позицию, IMHO
несколько отличающуюся от позиции пользователя СУБД. Ты
Уже второй раз натыкаюсь на одно и то же:
есть робот, который по расписанию стартует GBAK. Если по какой-то
причине места на диске под бэкап не хватило - GBAK не завершается, а
остается висеть, при этом робот кушает 100% проца.
Кто тут виноват: робот или GBAK, честно говоря не знаю, но поведение
Konstantin R. Beliaev ...
Уже второй раз натыкаюсь на одно и то же:
есть робот, который по расписанию стартует GBAK. Если по какой-то
причине места на диске под бэкап не хватило - GBAK не завершается, а
остается висеть, при этом робот кушает 100% проца.
gbak ждёт, пока место появится.
А
Horsun Vlad wrote:
gbak ждёт, пока место появится.
ОУ! так его не килять надо, а место освобождать?
А я его все в расход пускаю :-)))
--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---
Dmitri Kuzmenko wrote:
причиной накопления версий является неработа сборки мусора.
в твоем случае причина скорее всего в длительности работы транзакций.
Сделай их короче, тогда версии будут становиться мусором, и будут
собираться автоматически.
А разве первый ролбэк не тормознет сборку мусора
Yuri Grabar [EMAIL PROTECTED] wrote:
Вычисление результирующей селективности происходит немного станно... При
изменении исходной селективности индекса от 0 до 1 вычисленная
результирующая селективность изменяется от 0.2 до 1.0.
Так точно. Вот только заметно отличаться от 0.2 она будет только
Вопрос: правильно ли я делаю, и как надо делать правильней?
У меня была такая же проблема. Сканирую компьютерную сеть предприятия каждые
пять минут. После окончания каждого сканирования, удаляю из таблицы
DevicesOnline все записи, затем в этой же транзакции добавляю все найденные
устройства. В
Konstantin R. Beliaev ...
Dmitri Kuzmenko wrote:
причиной накопления версий является неработа сборки мусора.
в твоем случае причина скорее всего в длительности работы транзакций.
Сделай их короче, тогда версии будут становиться мусором, и будут
собираться автоматически.
А разве первый
Hello, Dmitry!
You wrote on Tue, 27 Jun 2006 13:46:02 +0400:
DY Yuri Grabar [EMAIL PROTECTED] wrote: Вычисление
результирующей
DY селективности происходит немного станно... При
?? изменении исходной селективности индекса от 0 до 1 вычисленная
?? результирующая селективность изменяется от
Konstantin R. Beliaev ...
Horsun Vlad wrote:
gbak ждёт, пока место появится.
ОУ! так его не килять надо, а место освобождать?
А я его все в расход пускаю :-)))
Я не помню - он или действительно продолжит работу,
или он висит ожидая ответа на свой вопрос о следующей
ленте.
Horsun Vlad пишет:
Это слишком просто. Выполни запрос с разными диапазонами, т.е.
store_id between 1 and 100, store_id between 20 and 400, и т.п.,
а потом смотри на статистику. Поправлять по конкретному значению -
не спортивно :)
Посмотрел бегло по гистограмме с большим кол-вом шагов и
Yuri Grabar [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
Ну, установленные на сегодня значения в 0.025 для between и 0.05 для
больше/меньше
Только 0.0025 для between, а не 0.025.
--~--~-~--~~~---~--~~
Horsun Vlad [EMAIL PROTECTED] wrote:
Я не помню - он или действительно продолжит работу,
или он висит ожидая ответа на свой вопрос о следующей
ленте. Проверить нужно
Второе, насколько я помню. Он ожидает команды в stdin.
--
Дмитрий Еманов
Yuri Grabar [EMAIL PROTECTED] wrote:
Только вот, например, очень хороший индекс с селективностью в 1
миллиардную все равно получит селективность 0.20001. Т.е. ,
результирующая селективность, какой бы ни была хорошей селективность
исходного индекса, все равно будет хуже этой константы.
Проблему решил уменьшением Sweep interval - поставил его равным 10.
...чем озадачил сервер непрерывным свипом. Может, хоть 1000 поставить?
Что скажут гуру?
к проктологу
перемещения 1 тыс сотрудников за два года, запрос на местонахождение
человека - мгновенно
--
Булычев Алексей
Евгений Килин
Только 0.0025 для between, а не 0.025.
1/365 ≈ 0,002739
ИМХО, это и есть источни оракловского оптимизьма
--
Булычев Алексей
http://www.stella-npf.ru
--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---
Дмитрий [EMAIL PROTECTED] сообщил/сообщила в новостях
следующее: news:[EMAIL PROTECTED]
Проблему решил уменьшением Sweep interval - поставил его равным 10.
В справке IBAnalyst (и не только там) написато, что лучше выставлять свип
интервал в ноль, то есть совсем отключать автосборку мусора, и
http://debri.ru/c/liven_26062006_foto/
--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---
Konstantin R. Beliaev [EMAIL PROTECTED]
сообщил/сообщила в новостях следующее: news:[EMAIL PROTECTED]
А разве первый ролбэк не тормознет сборку мусора до ближайшего свипа?
При записи точек я не делаю ролбэк.
--~--~-~--~~~---~--~~
Boulitchev Aleksey [EMAIL PROTECTED] wrote:
ИМХО, это и есть источни оракловского оптимизьма
На самом деле, это 0.05 * 0.05 :-) А вот откуда они взяли эти 0.05,
действительно интересно.
--
Дмитрий Еманов
--~--~-~--~~~---~--~~
Korg [EMAIL PROTECTED] writes:
Дмитрий dich at iname.ru сообщил/сообщила в новостях
следующее: news:loom.20060627T095956-526 at post.gmane.org...
Проблему решил уменьшением Sweep interval - поставил его
равным 10.
В справке IBAnalyst (и не только там) написато, что лучше
выставлять свип
WWW.DERIVATIVEMASTER.COM
[ 27 th JUNE 2006 ] Todays calls were as under :
Nifty Master Subscription Plan
Reccommendation
Suggested Lot Size
Profit / (Loss)
Buy Nifty Futures @ 2885 SL 2867 Target 2964
А венгерский есть?
Дмитрий
--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---
http://debri.ru/c/liven_26062006_foto/
Уй-йо, впечатляет.
А вот интересно. Вроде как должна быть дождевая канализация...
With b/r. Gleb.
--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---
Dmitry Lendel wrote:
А венгерский есть?
Без понятия.
--
Regards. Ded.
--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---
Дмитрий
Когда свип интервал был установлен у меня равным нулю, программа
сканирующая
сеть могла работать менее 2 суток. Т.к. после этого начавшаяся транзакция
ещё
не успевала завершиться до момента старта следующей. На обновление данных
у
меня в программе отведено 2 минуты (сканирование
Мадорский Г.В. [EMAIL PROTECTED] wrote in
message news:[EMAIL PROTECTED]
http://debri.ru/c/liven_26062006_foto/
А вот интересно. Вроде как должна быть дождевая канализация...
В ней обычно песка и мусора столько, что она своих функций не выполняет.
Vlad Horsun пишет:
И кто его знает, когда ASA решит его из кеша выкинуть
Если разработчики признаются - расскажу.
Когда факт выполнения будет сильно отличаться от плана. Но это уже
поздно, т.к.
плохое выполнение запроса уже произошло.
Ответил Glenn Paulley (Research and Development
Hello, All!
select table1.* from table1, table2
и select * from table1, table2
Планы совпадают, даже количество fetches from cache cовпадает.
Почему FB не удаляет table2 из первого запроса нафиг? Таблицы НИКАК не
связаны между собой.
--
WinAMP://none: WinAMP is suffocated
Hello, All!
Хотелось поиграться и сравнить
Попробовал сделать аналог обычного inner join / left join (на этих таблицах
разницы нет (not null, unique))
select v.* from dic_attr_values v, ( select title from dic_attr a where
a.id = v.id_a) as a2(title)
- error: unknown column v.id_a
Понял,
28.06.06 в 03:34 Arioch /BDV/ в своём письме писал(а):
select table1.* from table1, table2
и select * from table1, table2
Почему FB не удаляет table2 из первого запроса нафиг? Таблицы НИКАК не
связаны между собой.
Я тормоз. Обычное декартово произведение.
Впрочем, если добавить distinct -
Hello, All!
select count(*) from
(select count(some_field) from some_table where id=31)
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Invalid command.
COLUMN 1 is specified without a name.
Должен бы по идее вернуть единичку. Смысла в запросе немного, но, тем не
менее...
Удач
--
Hi Alexander A. Venikov !
AAV select count(*) from
AAV (select count(some_field) from some_table where id=31)
вот же:
AAV COLUMN 1 is specified without a name.
select count(*) from
(select count(some_field) from some_table where id=31) as aaa(id)
-
Hello, Alexander!
You wrote to All on Wed, 28 Jun 2006 08:48:13 +0600:
select count(*) from
(select count(some_field) as some_field_count from some_table where id=31)
Такой работает.
Удач
--
Alexander A. Venikov, Tobolsk, Russia
Real e-mail address is venixangry_dogtndottobdotru
Alexander A. Venikov [EMAIL PROTECTED]
wrote:
Должен бы по идее вернуть единичку. Смысла в запросе немного, но, тем не
менее...
Не баг, а скорее недоработка. Уже обращалось на это внимание, но правиться в
2.0 не будет.
--
Дмитрий Еманов
Arioch /BDV/ [EMAIL PROTECTED] wrote:
Значит так нельзя. Жаль...
Учи матчасть.
зачем два раза по A2 бежать ?
Что написал, то и получил.
После заявлений о поддержке derived tables в release notes, думал что
такие
вырожденные примеры Firebird отщелкает.
Или это я в 4 часа ночи выродился
Yuri Grabar [EMAIL PROTECTED] wrote:
?? все равно будет хуже этой константы.
DY Хуже на одну миллиардную. Это критично?
Дим, она хуже не на 1 миллиардную, а на 0.20001 - 1 миллиардная...
Можно
еще в процентах посчитать, только все равно будет, что лучшие индексы
проигрывают много
Ребята, а расскажите что такое руле-бейзед оптимизатор?
--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---
Hello, Dmitry!
You wrote on Wed, 28 Jun 2006 07:36:46 +0400:
DY Не баг, а скорее недоработка. Уже обращалось на это внимание,
DY но правиться в 2.0 не будет.
Сложно? Не под шкуру лезу, просто любопытно.
Удач
--
Alexander A. Venikov, Tobolsk, Russia
Real e-mail address is
Привет всем.
В FB2 размер буфера (XSQLVAR::sqllen) под
текстовые колонки вычисляется по
формуле
(размер колонки в символах) умножить на
(размер символа в байтах для текущей
кодовой страницы подключения)
Если кодовая страница подключения - NONE,
то берется родная кодировка колонки
Если колонка
48 matches
Mail list logo