powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Insufficient buffer for sort Sybase IQ 12.7
15 сообщений из 15, страница 1 из 1
Insufficient buffer for sort Sybase IQ 12.7
    #35663885
Виктор Сакович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что делать?

Запрос выглядит приблизительно так
Все таблицы небольшие, около 20000 записей.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
select	distinct top  100  a118.Marketing_ID  Marketing_ID,
	a122.Marketing_DESC  Marketing_DESC,
	pa11.PLAN_ID  PLAN_ID,
	a119.Plan_DESC  Plan_DESC,
	a117.ASM_ID  ASM_ID,
	a121.ASM_DESC  ASM_DESC,
	pa11.Object_ID  Object_ID,
	a120.Object_DESC  Object_DESC,
	pa12.WJXBFS1  WJXBFS1,
	pa13.WJXBFS1  WJXBFS2,
	pa14.WJXBFS1  WJXBFS3,
	pa15.WJXBFS1  WJXBFS4,
	(ISNULL(pa16.WJXBFS1,  0 ) - ISNULL(pa14.WJXBFS2,  0 ))  WJXBFS5,
	pa15.WJXBFS2  WJXBFS6,
	pa14.WJXBFS3  WJXBFS7,
	pa16.WJXBFS2  WJXBFS8,
	pa17.WJXBFS1  WJXBFS9,
	pa18.WJXBFS1  WJXBFSa,
	pa19.WJXBFS1  WJXBFSb,
	(ISNULL(pa19.WJXBFS2,  0 ) - ISNULL(pa18.WJXBFS2,  0 ))  WJXBFSc,
	pa17.WJXBFS2  WJXBFSd,
	pa18.WJXBFS3  WJXBFSe,
	pa19.WJXBFS3  WJXBFSf,
	(ISNULL(pa19.WJXBFS4,  0 ) - ISNULL(pa18.WJXBFS4,  0 ))  WJXBFS10,
	pa15.WJXBFS3  WJXBFS11,
	pa14.WJXBFS4  WJXBFS12,
	pa16.WJXBFS3  WJXBFS13,
	pa110.WJXBFS1  WJXBFS14,
	pa111.WJXBFS1  WJXBFS15,
	pa112.WJXBFS1  WJXBFS16,
	pa13.WJXBFS2  WJXBFS17,
	pa113.WJXBFS2  WJXBFS18,
	pa114.WJXBFS2  WJXBFS19,
	pa115.WJXBFS2  WJXBFS1a,
	pa110.WJXBFS1  WJXBFS1b,
	pa116.WJXBFS1  WJXBFS1c,
	pa111.WJXBFS1  WJXBFS1d,
	pa14.WJXBFS5  WJXBFS1e,
	pa16.WJXBFS5  WJXBFS1f,
	pa116.WJXBFS2  WJXBFS20,
	pa15.WJXBFS5  WJXBFS21,
	pa16.WJXBFS6  WJXBFS22,
	pa116.WJXBFS3  WJXBFS23,
	pa14.WJXBFS7  WJXBFS24,
	pa112.WJXBFS1  WJXBFS25,
	pa14.WJXBFS8  WJXBFS26,
	pa15.WJXBFS6  WJXBFS27,
	pa16.WJXBFS7  WJXBFS28,
	pa16.WJXBFS8  WJXBFS29
from	#zzTP3073ORVOD00I	pa11
	left outer join	#zzTP3073ORVMD000	pa12
	  on 	(pa11.Object_ID = pa12.Object_ID and 
	pa11.PLAN_ID = pa12.PLAN_ID)
	left outer join	#zzTP3073ORVMD001	pa13
	  on 	(pa11.Object_ID = pa13.Object_ID and 
	pa11.PLAN_ID = pa13.PLAN_ID)
	left outer join	#zzTP3073ORVMD002	pa14
	  on 	(pa11.Object_ID = pa14.Object_ID and 
	pa11.PLAN_ID = pa14.PLAN_ID)
	left outer join	#zzTP3073ORVMD003	pa15
	  on 	(pa11.Object_ID = pa15.Object_ID and 
	pa11.PLAN_ID = pa15.PLAN_ID)
	left outer join	#zzTP3073ORVMD004	pa16
	  on 	(pa11.Object_ID = pa16.Object_ID and 
	pa11.PLAN_ID = pa16.PLAN_ID)
	left outer join	#zzTP3073ORVMD005	pa17
	  on 	(pa11.Object_ID = pa17.Object_ID and 
	pa11.PLAN_ID = pa17.PLAN_ID)
	left outer join	#zzTP3073ORVMD006	pa18
	  on 	(pa11.Object_ID = pa18.Object_ID and 
	pa11.PLAN_ID = pa18.PLAN_ID)
	left outer join	#zzTP3073ORVMD007	pa19
	  on 	(pa11.Object_ID = pa19.Object_ID and 
	pa11.PLAN_ID = pa19.PLAN_ID)
	left outer join	#zzTP3073ORVMD008	pa110
	  on 	(pa11.Object_ID = pa110.Object_ID and 
	pa11.PLAN_ID = pa110.PLAN_ID)
	left outer join	#zzTP3073ORVMD009	pa111
	  on 	(pa11.Object_ID = pa111.Object_ID and 
	pa11.PLAN_ID = pa111.PLAN_ID)
	left outer join	#zzTP3073ORVMD00A	pa112
	  on 	(pa11.Object_ID = pa112.Object_ID and 
	pa11.PLAN_ID = pa112.PLAN_ID)
	left outer join	#zzTP3073ORVMD008	pa113
	  on 	(pa11.Object_ID = pa113.Object_ID and 
	pa11.PLAN_ID = pa113.PLAN_ID)
	left outer join	#zzTP3073ORVMD009	pa114
	  on 	(pa11.Object_ID = pa114.Object_ID and 
	pa11.PLAN_ID = pa114.PLAN_ID)
	left outer join	#zzTP3073ORVMD00A	pa115
	  on 	(pa11.Object_ID = pa115.Object_ID and 
	pa11.PLAN_ID = pa115.PLAN_ID)
	left outer join	#zzTP3073ORVMD00G	pa116
	  on 	(pa11.Object_ID = pa116.Object_ID)
	join	DBA.REL_1_CityASM	a117
	  on 	(pa11.Object_ID = a117.Object_ID)
	join	(select distinct Plan_ID, Marketing_ID  from DBA.REL_Plan
where Marketing_ID not in ( 7 , 16 , 18 , 19 , 20 ) and Marketing_ID in (select distinct Marketing_ID from DBA.LU_Product))	a118
	  on 	(pa11.PLAN_ID = a118.PLAN_ID)
	join	DBA.LU_Plan	a119
	  on 	(pa11.PLAN_ID = a119.PLAN_ID)
	join	DBA.LU_SHOP	a120
	  on 	(pa11.Object_ID = a120.Object_ID)
	join	DBA.LU_ASM	a121
	  on 	(a117.ASM_ID = a121.ASM_ID)
	join	DBA.LU_Marketing	a122
	  on 	(a118.Marketing_ID = a122.Marketing_ID);

Модератор: не забывай выделять исходники тэгом SRC
...
Рейтинг: 0 / 0
Insufficient buffer for sort Sybase IQ 12.7
    #35664001
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C IQ не работаю, но предположу что ему просто не хватает памяти на такое количество соединений.
...
Рейтинг: 0 / 0
Insufficient buffer for sort Sybase IQ 12.7
    #35664279
sPaul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Увеличить temp dbspace.
...
Рейтинг: 0 / 0
Insufficient buffer for sort Sybase IQ 12.7
    #35664813
любитель IQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Увеличить параметры -iqmc и -iqtc. Если их не менять - по умолчанию равны 16 и 12 метров.
...
Рейтинг: 0 / 0
Insufficient buffer for sort Sybase IQ 12.7
    #35664900
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О, живые пользователи IQ!!!
Хочется спросить, как он по производительности по сравнению с обычными СУБД типа ASE или ORACLE на тех-же задачах? Маркетинговые буклеты говорят правду?
Why CORBA is DEAD?
...
Рейтинг: 0 / 0
Insufficient buffer for sort Sybase IQ 12.7
    #35664925
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ggg_old пишет:

> Хочется спросить, как он по производительности по сравнению с обычными
> СУБД типа ASE или ORACLE на тех-же задачах?

Насколько я понимяу, IQ предназначено для несколько других задач ;).
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Insufficient buffer for sort Sybase IQ 12.7
    #35664933
Виктор Сакович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sPaul,

Вряд ли. Сейчас там 20 Гб, и я ни разу не видел, чтобы было задействовано больше чем 1 Гб. А таблицы, как видите, маленькие.
...
Рейтинг: 0 / 0
Insufficient buffer for sort Sybase IQ 12.7
    #35664936
Виктор Сакович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
любитель IQ,
Сейчас там 4000 и 10000.
...
Рейтинг: 0 / 0
Insufficient buffer for sort Sybase IQ 12.7
    #35664956
Виктор Сакович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ggg_oldО, живые пользователи IQ!!!
Хочется спросить, как он по производительности по сравнению с обычными СУБД типа ASE или ORACLE на тех-же задачах? Маркетинговые буклеты говорят правду?
Why CORBA is DEAD?

Про ASE ничего не могу сказать, не юзал.
С Oracle сравнивали перед началом проекта (правда, я в этом не участвовал), получили, что быстрее в 3-4 раза. По моим ощущениям, должно бы быть больше. Но, конечно не в сотни раз.
Короче, с производительностью проблем нет, на весьма немалых розничных данных.
Практически любой отчёт вылетает за 10-12 секунд.
...
Рейтинг: 0 / 0
Insufficient buffer for sort Sybase IQ 12.7
    #35664966
sPaul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виктор СаковичsPaul,

Вряд ли. Сейчас там 20 Гб, и я ни разу не видел, чтобы было задействовано больше чем 1 Гб. А таблицы, как видите, маленькие.
Пользую 12.5. В случае нехватки buffer cache вываливается сообщение, что не хватает именно buffer cache. По сообщению "Insufficient buffer for sort " не было очевидно в чем проблема. Тогда воспользуйтесь советом Любителя IQ, измените -iqtc and -iqmc.
...
Рейтинг: 0 / 0
Insufficient buffer for sort Sybase IQ 12.7
    #35664967
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виктор СаковичGgg_oldО, живые пользователи IQ!!!
Хочется спросить, как он по производительности по сравнению с обычными СУБД типа ASE или ORACLE на тех-же задачах? Маркетинговые буклеты говорят правду?
Why CORBA is DEAD?

Про ASE ничего не могу сказать, не юзал.
С Oracle сравнивали перед началом проекта (правда, я в этом не участвовал), получили, что быстрее в 3-4 раза. По моим ощущениям, должно бы быть больше. Но, конечно не в сотни раз.
Короче, с производительностью проблем нет, на весьма немалых розничных данных.
Практически любой отчёт вылетает за 10-12 секунд.
Виктор, я Вам ответил по почте.

Вердикт тот же, что и раньше я Вам письмом писал:
#50 Join (Hash)
Estimated Left Inputs 9223372036854775807

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

P.S. Если не секрет, как название продукта, который генерит такие запросы ? (я так понимаю у Вас какой то BI стоит)
...
Рейтинг: 0 / 0
Insufficient buffer for sort Sybase IQ 12.7
    #35664973
sPaul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно текст ошибки дословно?
...
Рейтинг: 0 / 0
Insufficient buffer for sort Sybase IQ 12.7
    #35664986
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ggg_oldО, живые пользователи IQ!!!
Хочется спросить, как он по производительности по сравнению с обычными СУБД типа ASE или ORACLE на тех-же задачах? Маркетинговые буклеты говорят правду?
Why CORBA is DEAD?
Я пока вожусь с IQ (кейсы, курсы, и т.д.), заодно пишу новый выпуск своей рассылки под названием "Sybase IQ – первые впечатления". Как выйдет, прочитайте, я стараюсь дать более менее точный анализ ощущений в сравнениях IQ vs ASA, IQ vs OLTP, IQ vs OLAP.
...
Рейтинг: 0 / 0
Insufficient buffer for sort Sybase IQ 12.7
    #35665725
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sPaulМожно текст ошибки дословно?
Insufficient buffer for sort, ASA Error -1009134, (s_csort.cxx 1987). Error code 21, SQLSTATE QSB34.

План запроса на данный запрос не генерился, из MSG было видно, что оптимизатор при выборе алгоритмов такого множества JOIN, предполагаемое кол-во возвращаемых строк оценивал в десятки тысяч биллионов записей и использование места во временном хранилище в 300 террабайт. Я думаю, что скорее всего валилось из за такого множества LEFT JOIN, судя по тому, что в запросе нет явной сортировки, часть джойнов пытался объединить через алгоритм сортировки и на этом спотыкался.

Виктор СаковичЧто делать?
Виктор, если запрос, переписанный Вами работает и вопросов по багам IQ нет, тогда плиз отпишитесь мне, чтобы я мог закрыть задачу. А на вопросы по плану, настройке производительности и нюансах использования IQ, можно будет обсудить здесь ;)
...
Рейтинг: 0 / 0
Insufficient buffer for sort Sybase IQ 12.7
    #35669195
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ggg_oldО, живые пользователи IQ!!!
Хочется спросить, как он по производительности по сравнению с обычными СУБД типа ASE или ORACLE на тех-же задачах? Маркетинговые буклеты говорят правду?
Why CORBA is DEAD?

Извените что не в тему, но присоединяюсь к Ggg_old!!!

P.S Ggg_old может новую ветку откроем? Думаю многим будет интересно!
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Insufficient buffer for sort Sybase IQ 12.7
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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