|
Вопрос по выполнению SQL запроса DW
|
|||
---|---|---|---|
#18+
День добрый! Выполнение запроса в ISQL (ASA7) проходит за 1,5 сек и тот же запрос при выполнении Preview DataWindow в PB проходит за ~50 сек. Подскажите, почему такое может быть. На DW никаких фильтров ни сортировок не стоит, все делается в SQL запросе. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 15:06 |
|
Вопрос по выполнению SQL запроса DW
|
|||
---|---|---|---|
#18+
За сколько выполняется запрос в DW при работе в приложении? PS. В режиме preview в IDE PowerBuilder'a заполнение данных всегда идет медленнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 15:12 |
|
Вопрос по выполнению SQL запроса DW
|
|||
---|---|---|---|
#18+
Текст SQL запроса можно посмотреть?. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 15:13 |
|
Вопрос по выполнению SQL запроса DW
|
|||
---|---|---|---|
#18+
>>За сколько выполняется запрос в DW при работе в приложении? Примерно так-же SQL запрос: SELECT b_firms_type.nam, b_firms_type.ord, b_firms.nam, b_firms.tel, d_town.nam, d_street.nam, b_firms.f_adr_d, b_firms.u_adr_k, b_firms_type.id, d_town.id, b_firms.id, b_dist.a_d_info_grp, ( SELECT "d_info_grp"."nam" FROM "DBA"."d_info_grp" WHERE "id" = "b_dist"."a_d_info_grp" ), ( SELECT "d_people"."fam" + ' ' + "d_people"."im" FROM "DBA"."d_people" WHERE "id" = "b_dist"."a_d_info_eng" ), ( SELECT "d_dist_sopr"."nam" FROM "DBA"."d_dist_sopr" WHERE "id" = "b_dist"."a_d_dist_sopr" ), d_obl.nam, b_firms.balance, b_firms.soprflag, ( get_filial ("b_firms"."regfirms" ) ), b_firms.rem, b_firms.ob_flag, b_firms.d_kategoria_name, (SELECT MAX(obuch_dt) FROM d_people, r_firms_people WHERE (d_people.id = r_firms_people.a_d_people) AND (r_firms_people.a_b_firms = b_firms.id)) FROM b_firms, b_firms_type, d_obl, d_street, d_town, b_dist, d_dist_type WHERE ( d_town.id = d_street.a_d_town ) and ( d_town.a_d_obl = d_obl.id ) and ( b_firms.ftp = b_firms_type.id ) and ( b_firms.id = b_dist.a_b_firms ) and ( d_street.id = b_firms.f_adr ) and ( b_dist.a_d_dist_type = d_dist_type.id ) and ( ( b_firms.f <> 0 ) AND ("b_dist"."a_d_info_grp" = :a_d_info_grp OR :a_d_info_grp = 0) AND ("b_dist"."a_d_info_eng" = :a_d_info_eng OR :a_d_info_eng = 0) AND ("b_dist"."a_d_dist_sopr" = :a_d_dist_sopr OR :a_d_dist_sopr = 0) AND ("b_firms"."filial" = :filial OR :filial = 0) AND ("b_firms"."soprflag" = :spr OR :spr = 0) AND ("b_firms"."regfirms" = :regfirms OR :regfirms = 0 or (:regfirms = -1 and b_firms.regfirms in (3,1407,1188))) AND ("b_firms"."ob_flag" = :ob_flag OR :ob_flag = 2) AND b_dist.f <> 0 AND d_dist_type.d_napravlen = :napravlen ) GROUP BY b_firms_type.nam, b_firms.d_kategoria_name, b_firms_type.ord, b_firms.nam, b_firms.ob_flag, b_firms.tel, d_town.nam, d_street.nam, b_firms.f_adr_d, b_firms.u_adr_k, b_firms_type.id, d_town.id, b_firms.id, b_dist.a_d_info_grp, b_dist.a_d_info_eng, b_dist.a_d_dist_sopr, d_obl.nam, b_firms.filial, b_firms.balance, b_firms.soprflag, b_firms.regfirms, b_firms.rem ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 15:22 |
|
Вопрос по выполнению SQL запроса DW
|
|||
---|---|---|---|
#18+
Какая версия Powerbuilder ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 16:18 |
|
Вопрос по выполнению SQL запроса DW
|
|||
---|---|---|---|
#18+
Нет ответа,и у меня нет времени его ждать. Приходилось налетать на нечто подобное в шестёрке. Там в Database Profile кто-то выставил птицу-'оптимизация запроса',что-то в этом роде,ну,в-общем у этой птицы свои понятия об оптимизации,когда её убрали-начало дышать. Только это было года 3 назад. Можа чего и напутал в названии,но чётко помню,что копался в Database Profile / EDIT. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 16:41 |
|
Вопрос по выполнению SQL запроса DW
|
|||
---|---|---|---|
#18+
KOLCHOZ_POSTEVENT, может про DisableBind думаете? А скорее всего проблема не в SQL запросе, а в том что в dataobjectе нарисовано - computed fields, ссылки на global funcions, и т.д. и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 18:29 |
|
Вопрос по выполнению SQL запроса DW
|
|||
---|---|---|---|
#18+
Предлагаю бросить синтаксис DW для Филиппа... Может так оно и есть. Саня Павлов - уважте народ. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 18:32 |
|
Вопрос по выполнению SQL запроса DW
|
|||
---|---|---|---|
#18+
Синтаксис в студию ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 19:01 |
|
Вопрос по выполнению SQL запроса DW
|
|||
---|---|---|---|
#18+
Попробую ответить. Computed fields есть, 1 штука - if (Len (b_firms_rem ) <> 0, '1', '') Никаких функций ничего подобного больше не вызывается. На каждый Column есть Expressions - if ( b_firms_soprflag = 1, RGB (255,255,255), if (b_firms_soprflag = 2, RGB (0,255,255), RGB (255, 255, 255))) (изменяю цвет по условию) Насчет синтаксиса - подскажите, как его взять мне и я выдам его в студию. И на третье - ситуация разрешилась созданием индекса в таблице b_dist по полю a_b_firms. Но вопрос все равно остается в силе: почему была такая разница в скорости между ISQL и PB ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2003, 08:32 |
|
Вопрос по выполнению SQL запроса DW
|
|||
---|---|---|---|
#18+
О да Запрос интересный 1. Мне кажеться оператор OR лучше не использовать вообще в условиях Where 2. Там функция у тебя, что за функция get_filial ("b_firms"."regfirms" ) 3. Попробуй выполнить его с Планом запроса 4. И по частям (особенно (SELECT MAX(obuch_dt) FROM d_people, r_firms_people WHERE (d_people.id = r_firms_people.a_d_people) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2003, 09:19 |
|
Вопрос по выполнению SQL запроса DW
|
|||
---|---|---|---|
#18+
to alienzzzz 1. Каким образом тогда осуществить фильтрацию Табл2 вида: все записи или по какой то записи Табл1 (связь между Табл1 и Табл2 один-ко-многим) 2. get_filial возвращает поле nam из таблицы b_firms 3. План естественно получается огромным. А какой выход? Использовать процедуры на сервере? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2003, 10:00 |
|
Вопрос по выполнению SQL запроса DW
|
|||
---|---|---|---|
#18+
Насчет синтаксиса - подскажите, как его взять мне и я выдам его в студию. Пишешь функцию или эвент в DW, вот синтаксис: string ls_ret ls_ret = ::Clipboard ( Describe("DataWindow.Syntax") ) и его вызываешь... В клипборде - синтаксис, копируешь в форум :)) Сколько записей возвращает твой запрос? А если убрать группировки? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2003, 10:20 |
|
Вопрос по выполнению SQL запроса DW
|
|||
---|---|---|---|
#18+
release 6; datawindow(units=0 timer_interval=0 color=16777215 processing=1 print.documentname="" print.orientation=0 print.margin.left=110 print.margin.right=110 print.margin.top=96 print.margin.bottom=96 print.paper.size=0 print.paper.source=0 grid.lines=0 grid.columnmove=no selected.mouse=no) header(height=76 color="536870912" ) summary(height=0 color="536870912" ) footer(height=376 color="536870912" ) detail(height=60 color="536870912" ) table(column=(type=char(48) updatewhereclause=yes name=b_firms_type_nam dbname="b_firms_type.nam" ) column=(type=long updatewhereclause=yes name=b_firms_type_ord dbname="b_firms_type.ord" ) column=(type=char(96) updatewhereclause=yes name=b_firms_nam dbname="b_firms.nam" ) column=(type=char(16) updatewhereclause=yes name=b_firms_tel dbname="b_firms.tel" ) column=(type=char(64) updatewhereclause=yes name=d_town_nam dbname="d_town.nam" ) column=(type=char(96) updatewhereclause=yes name=d_street_nam dbname="d_street.nam" ) column=(type=char(16) updatewhereclause=yes name=b_firms_f_adr_d dbname="b_firms.f_adr_d" ) column=(type=char(8) updatewhereclause=yes name=b_firms_u_adr_k dbname="b_firms.u_adr_k" ) column=(type=long updatewhereclause=yes name=b_firms_type_id dbname="b_firms_type.id" ) column=(type=long updatewhereclause=yes name=d_town_id dbname="d_town.id" ) column=(type=long updatewhereclause=yes name=id dbname="b_firms.id" ) column=(type=long updatewhereclause=yes name=b_dist_a_d_info_grp dbname="b_dist.a_d_info_grp" ) column=(type=char(32) updatewhereclause=yes name=cnam_p dbname="nam" ) column=(type=char(81) updatewhereclause=yes name=cnam_eng dbname="compute_0014" ) column=(type=char(32) updatewhereclause=yes name=cnam_sopr dbname="nam" ) column=(type=char(64) updatewhereclause=yes name=d_obl_nam dbname="d_obl.nam" ) column=(type=decimal(2) updatewhereclause=yes name=b_firms_balance dbname="b_firms.balance" ) column=(type=long updatewhereclause=yes name=b_firms_soprflag dbname="b_firms.soprflag" ) column=(type=char(256) updatewhereclause=yes name=supp_nam dbname="compute_0019" ) column=(type=char(128) updatewhereclause=yes name=b_firms_rem dbname="b_firms.rem" ) column=(type=long updatewhereclause=yes name=ob_flag dbname="b_firms.ob_flag" values="Îáó÷åí 1/- 0" ) column=(type=char(5) updatewhereclause=yes name=b_firms_d_kategoria_name dbname="b_firms.d_kategoria_name" ) column=(type=date updatewhereclause=yes name=compute_0023 dbname="compute_0023" ) retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"b_firms~" ) TABLE(NAME=~"b_firms_type~" ) TABLE(NAME=~"d_obl~" ) TABLE(NAME=~"d_street~" ) TABLE(NAME=~"d_town~" ) TABLE(NAME=~"b_dist~" ) TABLE(NAME=~"d_dist_type~" ) COLUMN(NAME=~"b_firms_type.nam~") COLUMN(NAME=~"b_firms_type.ord~") COLUMN(NAME=~"b_firms.nam~") COLUMN(NAME=~"b_firms.tel~") COLUMN(NAME=~"d_town.nam~") COLUMN(NAME=~"d_street.nam~") COLUMN(NAME=~"b_firms.f_adr_d~") COLUMN(NAME=~"b_firms.u_adr_k~") COLUMN(NAME=~"b_firms_type.id~") COLUMN(NAME=~"d_town.id~") COLUMN(NAME=~"b_firms.id~") COLUMN(NAME=~"b_dist.a_d_info_grp~") COMPUTE(NAME=~"( SELECT ~~~"d_info_grp~~~".~~~"nam~~~" FROM ~~~"DBA~~~".~~~"d_info_grp~~~" WHERE ~~~"id~~~" = ~~~"b_dist~~~".~~~"a_d_info_grp~~~" )~") COMPUTE(NAME=~"( SELECT ~~~"d_people~~~".~~~"fam~~~" + ' ' + ~~~"d_people~~~".~~~"im~~~" FROM ~~~"DBA~~~".~~~"d_people~~~" WHERE ~~~"id~~~" = ~~~"b_dist~~~".~~~"a_d_info_eng~~~" )~") COMPUTE(NAME=~"( SELECT ~~~"d_dist_sopr~~~".~~~"nam~~~" FROM ~~~"DBA~~~".~~~"d_dist_sopr~~~" WHERE ~~~"id~~~" = ~~~"b_dist~~~".~~~"a_d_dist_sopr~~~" )~") COLUMN(NAME=~"d_obl.nam~") COLUMN(NAME=~"b_firms.balance~") COLUMN(NAME=~"b_firms.soprflag~") COMPUTE(NAME=~"( get_filial (~~~"b_firms~~~".~~~"regfirms~~~" ) )~") COLUMN(NAME=~"b_firms.rem~") COLUMN(NAME=~"b_firms.ob_flag~") COLUMN(NAME=~"b_firms.d_kategoria_name~") COMPUTE(NAME=~"(SELECT MAX(obuch_dt) FROM d_people, r_firms_people WHERE (d_people.id = r_firms_people.a_d_people) AND (r_firms_people.a_b_firms = b_firms.id))~") JOIN (LEFT=~"d_town.id~" OP =~"=~"RIGHT=~"d_street.a_d_town~" ) JOIN (LEFT=~"d_town.a_d_obl~" OP =~"=~"RIGHT=~"d_obl.id~" ) JOIN (LEFT=~"b_firms.ftp~" OP =~"=~"RIGHT=~"b_firms_type.id~" ) JOIN (LEFT=~"b_firms.id~" OP =~"=~"RIGHT=~"b_dist.a_b_firms~" ) JOIN (LEFT=~"d_street.id~" OP =~"=~"RIGHT=~"b_firms.f_adr~" ) JOIN (LEFT=~"b_dist.a_d_dist_type~" OP =~"=~"RIGHT=~"d_dist_type.id~" )WHERE( EXP1 =~"b_firms.f~" OP =~"<>~" EXP2 =~"0~" LOGIC =~"and~" ) WHERE( EXP1 =~"(~~~"b_dist~~~".~~~"a_d_info_grp~~~"~" OP =~"=~" EXP2 =~":a_d_info_grp~" LOGIC =~"or~" ) WHERE( EXP1 =~":a_d_info_grp~" OP =~"=~" EXP2 =~"0)~" LOGIC =~"and~" ) WHERE( EXP1 =~"(~~~"b_dist~~~".~~~"a_d_info_eng~~~"~" OP =~"=~" EXP2 =~":a_d_info_eng~" LOGIC =~"or~" ) WHERE( EXP1 =~":a_d_info_eng~" OP =~"=~" EXP2 =~"0)~" LOGIC =~"and~" ) WHERE( EXP1 =~"(~~~"b_dist~~~".~~~"a_d_dist_sopr~~~"~" OP =~"=~" EXP2 =~":a_d_dist_sopr~" LOGIC =~"or~" ) WHERE( EXP1 =~":a_d_dist_sopr~" OP =~"=~" EXP2 =~"0)~" LOGIC =~"and~" ) WHERE( EXP1 =~"(~~~"b_firms~~~".~~~"filial~~~"~" OP =~"=~" EXP2 =~":filial~" LOGIC =~"or~" ) WHERE( EXP1 =~":filial~" OP =~"=~" EXP2 =~"0)~" LOGIC =~"and~" ) WHERE( EXP1 =~"(~~~"b_firms~~~".~~~"soprflag~~~"~" OP =~"=~" EXP2 =~":spr~" LOGIC =~"or~" ) WHERE( EXP1 =~":spr~" OP =~"=~" EXP2 =~"0)~" LOGIC =~"and~" ) WHERE( EXP1 =~"(~~~"b_firms~~~".~~~"regfirms~~~"~" OP =~"=~" EXP2 =~":regfirms~" LOGIC =~"or~" ) WHERE( EXP1 =~":regfirms~" OP =~"=~" EXP2 =~"0 or (:regfirms = -1 and b_firms.regfirms in (3,1407,1188)))~" LOGIC =~"and~" ) WHERE( EXP1 =~"(~~~"b_firms~~~".~~~"ob_flag~~~"~" OP =~"=~" EXP2 =~":ob_flag~" LOGIC =~"or~" ) WHERE( EXP1 =~":ob_flag~" OP =~"=~" EXP2 =~"2)~" LOGIC =~"and~" ) WHERE( EXP1 =~"b_dist.f~" OP =~"<>~" EXP2 =~"0~" LOGIC =~"and~" ) WHERE( EXP1 =~"d_dist_type.d_napravlen~" OP =~"=~" EXP2 =~":napravlen~" ) GROUP(NAME=~"b_firms_type.nam~") GROUP(NAME=~"b_firms.d_kategoria_name~") GROUP(NAME=~"b_firms_type.ord~") GROUP(NAME=~"b_firms.nam~") GROUP(NAME=~"b_firms.ob_flag~") GROUP(NAME=~"b_firms.tel~") GROUP(NAME=~"d_town.nam~") GROUP(NAME=~"d_street.nam~") GROUP(NAME=~"b_firms.f_adr_d~") GROUP(NAME=~"b_firms.u_adr_k~") GROUP(NAME=~"b_firms_type.id~") GROUP(NAME=~"d_town.id~") GROUP(NAME=~"b_firms.id~") GROUP(NAME=~"b_dist.a_d_info_grp~") GROUP(NAME=~"b_dist.a_d_info_eng~") GROUP(NAME=~"b_dist.a_d_dist_sopr~") GROUP(NAME=~"d_obl.nam~") GROUP(NAME=~"b_firms.filial~") GROUP(NAME=~"b_firms.balance~") GROUP(NAME=~"b_firms.soprflag~") GROUP(NAME=~"b_firms.regfirms~") GROUP(NAME=~"b_firms.rem~")) ARG(NAME = ~"a_d_info_grp~" TYPE = number) ARG(NAME = ~"a_d_info_eng~" TYPE = number) ARG(NAME = ~"a_d_dist_sopr~" TYPE = number) ARG(NAME = ~"filial~" TYPE = number) ARG(NAME = ~"spr~" TYPE = number) ARG(NAME = ~"regfirms~" TYPE = number) ARG(NAME = ~"ob_flag~" TYPE = number) ARG(NAME = ~"napravlen~" TYPE = number) " arguments=(("a_d_info_grp", number), ("a_d_info_eng", number), ("a_d_dist_sopr", number), ("filial", number), ("spr", number), ("regfirms", number), ("ob_flag", number), ("napravlen", number)) sort="b_firms_type_ord A, b_firms_nam A" ) button(name=cb_01 band=header font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" background.mode="2" background.color="78235810" filename="" action="0" vtextalign="0" htextalign="0" x="265" y="0" height="80" width="160" color="33554432" text="¹" defaultpicture=no suppresseventprocessing=no ) button(name=cb_02 band=header font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" background.mode="2" background.color="78235810" filename="" action="0" vtextalign="0" htextalign="0" x="439" y="0" height="80" width="919" color="33554432" text="Ðàçäåë" defaultpicture=no suppresseventprocessing=no ) button(name=cb_03 band=header font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" background.mode="2" background.color="78235810" filename="" action="0" vtextalign="0" htextalign="0" x="1367" y="0" height="80" width="1509" color="33554432" text="Íàèìåíîâàíèå" defaultpicture=no suppresseventprocessing=no ) button(name=cb_15 band=header font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" background.mode="2" background.color="78235810" filename="" action="0" vtextalign="0" htextalign="0" x="2885" y="0" height="80" width="283" color="0" text="Áàëàíñ" defaultpicture=no suppresseventprocessing=no ) button(name=cb_04 band=header font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" background.mode="2" background.color="78235810" filename="" action="0" vtextalign="0" htextalign="0" x="3177" y="0" height="80" width="302" color="0" text="Òåëåôîí" defaultpicture=no suppresseventprocessing=no ) button(name=cb_05 band=header font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" background.mode="2" background.color="78235810" filename="" action="0" vtextalign="0" htextalign="0" x="3488" y="0" height="80" width="635" color="0" text="Ðàéîí/Îáëàñòü" defaultpicture=no suppresseventprocessing=no ) button(name=cb_06 band=header font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" background.mode="2" background.color="78235810" filename="" action="0" vtextalign="0" htextalign="0" x="4133" y="0" height="80" width="302" color="0" text="Ãîðîä" defaultpicture=no suppresseventprocessing=no ) button(name=cb_07 band=header font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" background.mode="2" background.color="78235810" filename="" action="0" vtextalign="0" htextalign="0" x="4443" y="0" height="80" width="727" color="0" text="Óëèöà" defaultpicture=no suppresseventprocessing=no ) button(name=cb_08 band=header font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" background.mode="2" background.color="78235810" filename="" action="0" vtextalign="0" htextalign="0" x="5179" y="0" height="80" width="192" color="0" text="Äîì" defaultpicture=no suppresseventprocessing=no ) button(name=cb_09 band=header font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" background.mode="2" background.color="78235810" filename="" action="0" vtextalign="0" htextalign="0" x="5381" y="0" height="80" width="151" color="0" text="Êàá" defaultpicture=no suppresseventprocessing=no ) button(name=cb_10 band=header font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" background.mode="2" background.color="78235810" filename="" action="0" vtextalign="0" htextalign="0" x="5541" y="0" height="80" width="434" color="0" text="Ãðóïïà" defaultpicture=no suppresseventprocessing=no ) button(name=cb_11 band=header font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" background.mode="2" background.color="78235810" filename="" action="0" vtextalign="0" htextalign="0" x="5979" y="0" height="80" width="498" color="0" text="Èíæåíåð" defaultpicture=no suppresseventprocessing=no ) button(name=cb_12 band=header font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" background.mode="2" background.color="78235810" filename="" action="0" vtextalign="0" htextalign="0" x="6487" y="0" height="80" width="722" color="0" text="Ñïîñîá ñîïðîâîæäåíèÿ" defaultpicture=no suppresseventprocessing=no ) button(name=cb_14 band=header font.charset="204" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" background.mode="2" background.color="12632256" filename="" action="0" vtextalign="0" htextalign="0" x="5" y="0" height="80" width="137" color="0" text="_" defaultpicture=no suppresseventprocessing=no ) button(name=cb_26 band=header font.charset="204" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" background.mode="2" background.color="13160660" filename="" action="0" vtextalign="0" htextalign="0" x="155" y="0" height="80" width="105" color="0" text="Êàò" defaultpicture=no suppresseventprocessing=no ) button(name=cb_13 band=header font.charset="204" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" background.mode="2" background.color="12632256" filename="" action="0" vtextalign="0" htextalign="0" x="7214" y="0" height="80" width="946" color="0" text="Ïîñòàâùèê" defaultpicture=no suppresseventprocessing=no ) button(name=cb_27 band=header font.charset="204" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" background.mode="2" background.color="13160660" filename="" action="0" vtextalign="0" htextalign="0" x="8169" y="0" height="80" width="283" color="0" text="Ïîñë. îáó÷" defaultpicture=no suppresseventprocessing=no ) button(band=footer font.charset="0" font.face="Arial" font.family="2" font.height="-12" font.pitch="2" font.weight="400" background.mode="2" background.color="14215660" filename="" action="0" vtextalign="0" htextalign="0" x="987" y="416" height="120" width="320" color="0" text="none" defaultpicture=no suppresseventprocessing=no ) button(name=bb_01 band=footer font.charset="0" font.face="Arial" font.family="2" font.height="-12" font.pitch="2" font.weight="400" background.mode="2" background.color="14215660" filename="" action="0" vtextalign="0" htextalign="0" x="581" y="116" height="120" width="320" color="0" text="none" defaultpicture=no suppresseventprocessing=no ) column(name=id band=detail id=11 x="265" y="0" height="60" width="160" color="0" border="0" alignment="1" format="0 " edit.autohscroll=no edit.autoselect=yes edit.autovscroll=no edit.codetable=no edit.displayonly=no edit.hscrollbar=no edit.imemode=0 edit.limit=0 edit.password=no edit.vscrollbar=no edit.validatecode=no edit.nilisnull=no edit.required=no criteria.required=no criteria.override_edit=no crosstab.repeat=no background.mode="0" background.color="536870912 if ( b_firms_soprflag = 1, RGB (255,255,255), if (b_firms_soprflag = 2, RGB (0,255,255), RGB (255, 255, 255)))" font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" tabsequence=0 ) column(name=b_firms_type_nam band=detail id=1 x="434" y="0" height="60" width="919" color="0" border="0" alignment="0" format="[general]" edit.focusrectangle=no edit.autohscroll=yes edit.autoselect=yes edit.autovscroll=no edit.codetable=no edit.displayonly=no edit.hscrollbar=no edit.imemode=0 edit.limit=48 edit.password=no edit.vscrollbar=no edit.validatecode=no edit.nilisnull=no edit.required=no criteria.required=no criteria.override_edit=no crosstab.repeat=no background.mode="0" background.color="536870912 if ( b_firms_soprflag = 1, RGB (255,255,255), if (b_firms_soprflag = 2, RGB (0,255,255), RGB (255, 255, 255)))" font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" tabsequence=0 ) column(name=b_firms_nam band=detail id=3 x="1362" y="0" height="60" width="1509" color="0" border="0" alignment="0" format="[general]" edit.focusrectangle=no edit.autohscroll=yes edit.autoselect=yes edit.autovscroll=no edit.codetable=no edit.displayonly=no edit.hscrollbar=no edit.imemode=0 edit.limit=96 edit.password=no edit.vscrollbar=no edit.validatecode=no edit.nilisnull=no edit.required=no criteria.required=no criteria.override_edit=no crosstab.repeat=no background.mode="0" background.color="536870912 if ( b_firms_soprflag = 1, RGB (255,255,255), if (b_firms_soprflag = 2, RGB (0,255,255), RGB (255, 255, 255)))" font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" tabsequence=0 ) column(name=b_firms_balance band=detail id=17 x="2880" y="0" height="60" width="283" color="0 if (b_firms_balance < 0 , RGB (255,0,0), RGB (0,0,0) )" border="0" alignment="1" format="0.00 " edit.autohscroll=no edit.autoselect=yes edit.autovscroll=no edit.codetable=no edit.displayonly=no edit.hscrollbar=no edit.imemode=0 edit.limit=0 edit.password=no edit.vscrollbar=no edit.validatecode=no edit.nilisnull=no edit.required=no criteria.required=no criteria.override_edit=no crosstab.repeat=no background.mode="0" background.color="16777215 if ( b_firms_soprflag = 1, RGB (255,255,255), if (b_firms_soprflag = 2, RGB (0,255,255), RGB (255, 255, 255)))" font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" tabsequence=0 ) column(name=b_firms_tel band=detail id=4 x="3173" y="0" height="60" width="302" color="0" border="0" alignment="0" format="[general]" edit.focusrectangle=no edit.autohscroll=yes edit.autoselect=yes edit.autovscroll=no edit.codetable=no edit.displayonly=no edit.hscrollbar=no edit.imemode=0 edit.limit=16 edit.password=no edit.vscrollbar=no edit.validatecode=no edit.nilisnull=no edit.required=no criteria.required=no criteria.override_edit=no crosstab.repeat=no background.mode="0" background.color="536870912 if ( b_firms_soprflag = 1, RGB (255,255,255), if (b_firms_soprflag = 2, RGB (0,255,255), RGB (255, 255, 255)))" font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" tabsequence=0 ) column(name=d_obl_nam band=detail id=16 x="3483" y="0" height="60" width="635" color="0" border="0" alignment="0" format="[general]" edit.autohscroll=no edit.autoselect=yes edit.autovscroll=no edit.codetable=no edit.displayonly=no edit.hscrollbar=no edit.imemode=0 edit.limit=0 edit.password=no edit.vscrollbar=no edit.validatecode=no edit.nilisnull=no edit.required=no criteria.required=no criteria.override_edit=no crosstab.repeat=no background.mode="0" background.color="536870912 if ( b_firms_soprflag = 1, RGB (255,255,255), if (b_firms_soprflag = 2, RGB (0,255,255), RGB (255, 255, 255)))" font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" tabsequence=0 ) column(name=d_town_nam band=detail id=5 x="4128" y="0" height="60" width="302" color="0" border="0" alignment="0" format="[general]" edit.focusrectangle=no edit.autohscroll=yes edit.autoselect=yes edit.autovscroll=no edit.codetable=no edit.displayonly=no edit.hscrollbar=no edit.imemode=0 edit.limit=64 edit.password=no edit.vscrollbar=no edit.validatecode=no edit.nilisnull=no edit.required=no criteria.required=no criteria.override_edit=no crosstab.repeat=no background.mode="0" background.color="536870912 if ( b_firms_soprflag = 1, RGB (255,255,255), if (b_firms_soprflag = 2, RGB (0,255,255), RGB (255, 255, 255)))" font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" tabsequence=0 ) column(name=d_street_nam band=detail id=6 x="4439" y="0" height="60" width="727" color="0" border="0" alignment="0" format="[general]" edit.focusrectangle=no edit.autohscroll=yes edit.autoselect=yes edit.autovscroll=no edit.codetable=no edit.displayonly=no edit.hscrollbar=no edit.imemode=0 edit.limit=96 edit.password=no edit.vscrollbar=no edit.validatecode=no edit.nilisnull=no edit.required=no criteria.required=no criteria.override_edit=no crosstab.repeat=no background.mode="0" background.color="536870912 if ( b_firms_soprflag = 1, RGB (255,255,255), if (b_firms_soprflag = 2, RGB (0,255,255), RGB (255, 255, 255)))" font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" tabsequence=0 ) column(name=b_firms_f_adr_d band=detail id=7 x="5175" y="0" height="60" width="192" color="0" border="0" alignment="0" format="[general]" edit.focusrectangle=no edit.autohscroll=yes edit.autoselect=yes edit.autovscroll=no edit.codetable=no edit.displayonly=no edit.hscrollbar=no edit.imemode=0 edit.limit=16 edit.password=no edit.vscrollbar=no edit.validatecode=no edit.nilisnull=no edit.required=no criteria.required=no criteria.override_edit=no crosstab.repeat=no background.mode="0" background.color="536870912 if ( b_firms_soprflag = 1, RGB (255,255,255), if (b_firms_soprflag = 2, RGB (0,255,255), RGB (255, 255, 255)))" font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" tabsequence=0 ) column(name=b_firms_u_adr_k band=detail id=8 x="5376" y="0" height="60" width="151" color="0" border="0" alignment="0" format="[general]" edit.autohscroll=no edit.autoselect=yes edit.autovscroll=no edit.codetable=no edit.displayonly=no edit.hscrollbar=no edit.imemode=0 edit.limit=0 edit.password=no edit.vscrollbar=no edit.validatecode=no edit.nilisnull=no edit.required=no criteria.required=no criteria.override_edit=no crosstab.repeat=no background.mode="0" background.color="536870912 if ( b_firms_soprflag = 1, RGB (255,255,255), if (b_firms_soprflag = 2, RGB (0,255,255), RGB (255, 255, 255)))" font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" tabsequence=0 ) column(name=cnam_p band=detail id=13 x="5536" y="0" height="60" width="434" color="0" border="0" alignment="0" format="[general]" edit.autohscroll=no edit.autoselect=yes edit.autovscroll=no edit.codetable=no edit.displayonly=no edit.hscrollbar=no edit.imemode=0 edit.limit=0 edit.password=no edit.vscrollbar=no edit.validatecode=no edit.nilisnull=no edit.required=no criteria.required=no criteria.override_edit=no crosstab.repeat=no background.mode="0" background.color="16777215 if ( b_firms_soprflag = 1, RGB (255,255,255), if (b_firms_soprflag = 2, RGB (0,255,255), RGB (255, 255, 255)))" font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" tabsequence=0 ) column(name=cnam_eng band=detail id=14 x="5979" y="0" height="60" width="498" color="0" border="0" alignment="0" format="[general]" edit.autohscroll=no edit.autoselect=yes edit.autovscroll=no edit.codetable=no edit.displayonly=no edit.hscrollbar=no edit.imemode=0 edit.limit=0 edit.password=no edit.vscrollbar=no edit.validatecode=no edit.nilisnull=no edit.required=no criteria.required=no criteria.override_edit=no crosstab.repeat=no background.mode="0" background.color="536870912 if ( b_firms_soprflag = 1, RGB (255,255,255), if (b_firms_soprflag = 2, RGB (0,255,255), RGB (255, 255, 255)))" font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" tabsequence=0 ) column(name=cnam_sopr band=detail id=15 x="6487" y="0" height="60" width="722" color="0" border="0" alignment="0" format="[general]" edit.autohscroll=no edit.autoselect=yes edit.autovscroll=no edit.codetable=no edit.displayonly=no edit.hscrollbar=no edit.imemode=0 edit.limit=0 edit.password=no edit.vscrollbar=no edit.validatecode=no edit.nilisnull=no edit.required=no criteria.required=no criteria.override_edit=no crosstab.repeat=no background.mode="0" background.color="536870912 if ( b_firms_soprflag = 1, RGB (255,255,255), if (b_firms_soprflag = 2, RGB (0,255,255), RGB (255, 255, 255)))" font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" tabsequence=0 ) column(name=supp_nam band=detail id=19 x="7218" y="0" height="60" width="946" color="0" border="0" alignment="0" format="[general]" edit.autohscroll=no edit.autoselect=yes edit.autovscroll=no edit.codetable=no edit.displayonly=no edit.hscrollbar=no edit.imemode=0 edit.limit=0 edit.password=no edit.vscrollbar=no edit.validatecode=no edit.nilisnull=no edit.required=no criteria.required=no criteria.override_edit=no crosstab.repeat=no background.mode="0" background.color="536870912 if ( b_firms_soprflag = 1, RGB (255,255,255), if (b_firms_soprflag = 2, RGB (0,255,255), RGB (255, 255, 255)))" font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" tabsequence=0 ) compute(name=ct band=detail font.charset="2" font.face="Wingdings" font.family="0" font.height="-10" font.pitch="2" font.weight="700" background.mode="0" background.color="16777215 if ( b_firms_soprflag = 1, RGB (255,255,255), if (b_firms_soprflag = 2, RGB (0,255,255), RGB (255, 255, 255)))" color="255" x="9" y="0" height="60" width="137" format="[general]" expression="if (Len (b_firms_rem ) <> 0, '1', '')" alignment="2" border="0" crosstab.repeat=no ) column(name=b_firms_d_kategoria_name band=detail id=22 x="155" y="0" height="60" width="101" color="0" border="0" alignment="2" format="[general]" edit.autohscroll=no edit.autoselect=yes edit.autovscroll=no edit.codetable=no edit.displayonly=no edit.hscrollbar=no edit.imemode=0 edit.limit=0 edit.password=no edit.vscrollbar=no edit.validatecode=no edit.nilisnull=no edit.required=no criteria.required=no criteria.override_edit=no crosstab.repeat=no background.mode="0" background.color="536870912 if ( b_firms_soprflag = 1, RGB (255,255,255), if (b_firms_soprflag = 2, RGB (0,255,255), RGB (255, 255, 255)))" font.charset="204" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" tabsequence=0 ) column(name=compute_0023 band=detail id=23 x="8174" y="0" height="60" width="279" color="0" border="0" alignment="0" format="[general]" edit.autohscroll=no edit.autoselect=yes edit.autovscroll=no edit.codetable=no edit.displayonly=no edit.hscrollbar=no edit.imemode=0 edit.limit=0 edit.password=no edit.vscrollbar=no edit.validatecode=no edit.nilisnull=no edit.required=no criteria.required=no criteria.override_edit=no crosstab.repeat=no background.mode="1" background.color="536870912" font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" tabsequence=0 ) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2003, 10:48 |
|
Вопрос по выполнению SQL запроса DW
|
|||
---|---|---|---|
#18+
Запрос возвращает ~2000 записей, без группировок - ~6500 записей. Но ведь группировкой должен заниматься SQL server, а не приложение (я имею ввиду group by в SQL запросе) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2003, 10:56 |
|
Вопрос по выполнению SQL запроса DW
|
|||
---|---|---|---|
#18+
Проблем скорее такой возник из-за того, что запрос был написан в графическом режиме. Переводом в ConvertToSyntax думаю больше не появлялась... Попробуйте. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2003, 13:13 |
|
Вопрос по выполнению SQL запроса DW
|
|||
---|---|---|---|
#18+
Саня Павлов , сие запрос возвращает ~2000 записей, без группировок - ~6500 записей звучит по меньшей мере странно. Каким образом GROUP BY clause может повлиять на количество рядов, принесенных SQL запросом? Мало того, в вашем DW определен Sort, посему ваш GROUP BY clause будет попросту ИГНОРИРОВАН. Разница между ISQL и РВ в основном в перерисовке, пересчёте компьютов и оценке выражений на свойствах объектов сидящих в DW. В вашем приложении перед ретривом DW напишите SetRedraw(FALSE), а после SetRedraw(TRUE) и посмотрите (at runtime) будет ли разница... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2003, 18:57 |
|
Вопрос по выполнению SQL запроса DW
|
|||
---|---|---|---|
#18+
to Филипп Например. Связь между таблицей Т1 и Т2 один-ко-многим, между Т3 и Т2 тоже один-ко-многим. Запрос: SELECT Т1.поле2, Т3.поле2 FROM T1,T2,T3 WHERE T1.поле1 = Т2.поле3 and Т2.поле4 = Т3.поле1 В том случае, когда Т3.поле2 для записи Т1 одинаково, то без GROUP BY строк для каждой записи из Т1 будет столько, сколько связанных записей в таблице Т2. А разницы с использованием SetRedraw и без него нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2003, 11:30 |
|
Вопрос по выполнению SQL запроса DW
|
|||
---|---|---|---|
#18+
Попробуйте ConvertToSyntax... Да Филипп ну и сморозил ты глупость :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2003, 11:48 |
|
Вопрос по выполнению SQL запроса DW
|
|||
---|---|---|---|
#18+
Далее - не повод для обсуждения, просто напомню Филиппу, что группировка в селекте а не в DW, соответственно число записей становиться равно числу УНИКАЛЬНЫХ записей столбца(ов) по которым шла группировка. И это конечно обычно меньше числа запсей просто в селекте (без GROUP BY). Для этого он собственно и существует, чтобы набор данных группировать :)) Хотя конечно я лично уверен, что это просто Вы не поняли Филипп... И то что я здесь описал и сами знаете... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2003, 11:52 |
|
Вопрос по выполнению SQL запроса DW
|
|||
---|---|---|---|
#18+
Упс, про то что Group By делает implicit DISTINCT я и забыл :-)) Но с учетом количества элементов в GROUP BY Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Разница в 4500 рядов звучит очень подозрительно. При этом тот факт, что в DW определен Sort, НЕ совпадающий с GROUP BY означает, что он (Sort) собъёт сортировку, сделанную на сервере через GROUP BY. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2003, 18:24 |
|
Вопрос по выполнению SQL запроса DW
|
|||
---|---|---|---|
#18+
А насчет процедуры с резульсетом что Вы думаете ? Проблема не решиться ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2003, 09:25 |
|
Вопрос по выполнению SQL запроса DW
|
|||
---|---|---|---|
#18+
Скажу про MS SQL(с Sybase не работал, но все же они родственники :)) Иногда приключается такая штука на сложных запросах - в Query Analizer нарисуешь запрос, использующий параметры, заведешь переменные, присвоишь им значения - запрос выполняется быстро. Копируешь в тело хранимой процедуры, переменные объявляешь как параметры процедуры - работает катастрофически медленно, план совсем другой. Причина в том, что при генерации плана оптимизатор уже знает реальные значения параметров, а в хранимой процедуре - нет, потому он строит другой план. Поэтому даже приходилось генерить текст запроса внутри хранимой процедуры и выполнять через exec (). Даже с учетом потерь на составление плана в онлайне это было лучше, а явно прописать план было невозможно :) Кстати, поимев немало геморроя с отладкой/изменением таких запросов внутри PB, теперь все мало-мальски сложные запросы засовываю в SP на сервак. К примеру, захотел вместо подселектов использовать UDF - без проблем, клиент не меняется, или просто хинты оптимизатору расставить надо стало. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2003, 13:57 |
|
|
start [/forum/topic.php?fid=15&fpage=114&tid=1339496]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 247ms |
total: | 409ms |
0 / 0 |