Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Не хватает кеша. Sybase IQ 16.0 / 12 сообщений из 12, страница 1 из 1
23.01.2014, 17:42
    #38535875
john2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хватает кеша. Sybase IQ 16.0
SP не помню какой, но кажется последний.

При выполнении SELECT возникает ошибка:

[15:20:05] Stanislav Polunin: There was an error reading the results of the SQL statement.
The displayed results may be incorrect or incomplete.

temp Bufman: All buffer cache pages are in use, ask your DBA to increase
the size of the buffer cache.
-- (slib\s_blockmap.cxx 6028)
SQLCODE=-1009031, ODBC 3 State="HY000"
temp Bufman: All buffer cache pages are in use, ask your DBA to increase
the size of the buffer cache.
-- (slib\s_blockmap.cxx 6028)
SQLCODE=-1009031, ODBC 3 State="HY000"

Кеши по 2 ГБ.

В запросе таблица примерно 5 млрд. записей, соединяется с 10-15 справочников и делается GROUP BY, - запрос из SAP BO.

Подскажите, это глюк какой-то или нормальное поведение IQ ?
...
Рейтинг: 0 / 0
23.01.2014, 18:00
    #38535906
john2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хватает кеша. Sybase IQ 16.0
john2007,
в частности, если в SELECT оставить только count(*), то выполняется, а если добавить еще SUM() по полю типа decimal (36,16) то вылетает с этой ошибкой.
...
Рейтинг: 0 / 0
24.01.2014, 09:53
    #38536337
Nashville
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хватает кеша. Sybase IQ 16.0
john2007,

не могу сказать именно про 16 версию, но 2 Гб на кеши при таких объемах это не серьезно.
По поводу COUNT() и SUM() это абсолютно разные для IQ задачи по объему данных.

Увеличивайте кеши в разы как минимум.
...
Рейтинг: 0 / 0
24.01.2014, 12:18
    #38536640
Не хватает кеша. Sybase IQ 16.0
john2007,

Включаем план запроса с
Index_Advisor=On
Query_Plan_After_run=Off
NoExec=On

Смотрим в нём на Output Vector - сколько в байтах на каждой ноде плана * на кол-во Estimated Rows
Плюс смотрим на Estimated Temp Space Usage (по ошибке - не хватает Temp Cache).

Возможно не хватает индекса (смотрим на Index Advice) - поэтому запросу нужно много места в temp Store, например, на Order By ...
...
Рейтинг: 0 / 0
24.01.2014, 12:26
    #38536658
Не хватает кеша. Sybase IQ 16.0
И ещё:

Смотрим на Storage size for a decimal number:
http://infocenter.sybase.com/help/topic/com.sybase.infocenter.dc38151.1603/doc/html/san1278452908740.html

Для decimal (36,16) получаем 24 байта, умножаем на 5 млрд = 112 Гб только на эту колонку...
...
Рейтинг: 0 / 0
27.01.2014, 10:56
    #38538681
john2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хватает кеша. Sybase IQ 16.0
Спасибо!

Я понимаю, что объемы обрабатываемых данных больше чем 2Гб, но:

1) Это же кеш, он ИМХО должен влиять только на быстродействие, но не работоспособность в принципе.
2) 5 млрд. записей, честно говоря, ИМХО, не так уж и много для ХД.
3) Кеш - это же оперативная память, мне что нужно 112 Гб (decimal (36,16) получаем 24 байта, умножаем на 5 млрд) оперативки только под одну эту колонку?

Или я что-то не правильно понял и это все такая специфика IQ?
...
Рейтинг: 0 / 0
27.01.2014, 11:29
    #38538720
john2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хватает кеша. Sybase IQ 16.0
посмотрел в плане
Est. Temp Space Used (Mb) - 25.8
...
Рейтинг: 0 / 0
27.01.2014, 12:39
    #38538819
Не хватает кеша. Sybase IQ 16.0
john2007,

Чтобы не гадать, план в html выложите плз.

set temporary option Query_Plan='ON';
set temporary option Query_Detail='ON';
set temporary option Query_Timing='ON';
set temporary option Query_Plan_After_Run='OFF';
set temporary option Query_Plan_As_HTML='ON';
set temporary option Index_Advisor='ON';
set temporary option NoExec='ON';

Запрос.
...
Рейтинг: 0 / 0
27.01.2014, 17:18
    #38539415
john2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хватает кеша. Sybase IQ 16.0
Забыл пароль,

Приложил!
...
Рейтинг: 0 / 0
27.01.2014, 18:22
    #38539558
moris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хватает кеша. Sybase IQ 16.0
Судя по плану вы вообще кроме дефолтных индексов FP - больше никаких не используете, что есть плохо. В частности в вашем случае
по полям соединия, группировки - используется FP индексы


Почитайте тут Always use indexes on ....



Index Advisor вам даже подсказывает, что надо сделать. Раставите нужные индексы, и тогда почти уверен - ругательство исчезнет
...
Рейтинг: 0 / 0
27.01.2014, 19:08
    #38539604
john2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хватает кеша. Sybase IQ 16.0
moris, да, спасибо, я обратил на это внимание, когда выше предложили посмотреть на сообщения Advisor, так и попробуем сделать, по результату отпишусь в ветке, как будут результаты!

но, ИМХО, это глюк и решение - workaround, т.е. так быть не должно.
...
Рейтинг: 0 / 0
27.01.2014, 19:22
    #38539619
moris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хватает кеша. Sybase IQ 16.0
Нет это не глюк. Это ожидаемо. Точная статистика в IQ (особо необходимая при join) есть только в HG/LF индексах. Без знания точной статистики оптимизатор строит планы на дефолтной, в результате план не оптимальный , и в кеш приходится поднимать значительно больше данных.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Не хватает кеша. Sybase IQ 16.0 / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]