Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];

Вниз

Всем привет   Найти похожие ветки 

 
cooc   (2006-10-16 13:53) [0]

Объясните мне пожалуйста, в одной проге (не моей) есть такой запрос:

SELECT o.*, dr."sign", dr."sign"||": "||dr."car" AS "calcdriver", o."street"||COALESCE(" "||o."house", " ")||COALESCE(", кв."|| CASE WHEN (o."apart"="") THEN NULL ELSE o."apart" END , "") AS "calcaddressfrom", COALESCE( CASE WHEN (o."addressto"="") THEN NULL ELSE o."addressto" END ||", ", "")|| COALESCE(o."streetto", "")||" "||COALESCE(o."houseto", "") AS "calcaddressto", CAST(o."dcard"||" / "||(cr."usecount"+1)AS CHAR(100)) AS "calccard" , dr."sign" AS "drvsign" , dr."car" AS "drvcar" , dr."fname" AS "drvname" , cl."fname" AS "clientname" , u1."fname" AS "calcoper" , u2."fname" AS "calcdisp" , wo."wvalue" AS "calcorderstate" , cc."classname" AS "calcprefcar" , CAST(CASE WHEN (o."drvbonus">0) THEN "Бонус" ELSE "" END AS CHAR(100)) AS "calcbonus" , CAST(CASE WHEN (o."msgid"=1) THEN "###" WHEN (o."msgid"=2) THEN "+" ELSE "" END AS CHAR(100)) AS "calcmsg" FROM "orders" o LEFT OUTER JOIN "refdrivers" dr ON (o."driver" = dr."num") LEFT OUTER JOIN "refclients" cl ON (o."client"=cl."num") LEFT OUTER JOIN "dcards" cr ON (o."dcard"=cr."num") LEFT OUTER JOIN "refusers" u1 ON (o."oper"=u1."num") LEFT OUTER JOIN "refusers" u2 ON (o."disp"=u2."num") LEFT OUTER JOIN "words" wo ON ((wo."idname"="orderstate") AND (o."orderstate" = wo."state")) LEFT OUTER JOIN "refcarclass" cc ON (o."prefcar"=cc."num") WHERE (o."preorder"=1) AND ((o."driver" IS NULL) OR (o."driver"=-1))  ORDER BY o."preorder", o."orderstate", o."pretime", o."ordertime"
-------------------
Этот запрос разом формирует таблицу для вывода на экран.
Я же обычно формировал табл для вывода на клиенте с помощью лукап и калк полей.

В связи с этим вопрос: какой из вариантов наиболее производительный.
БД Firebird.


 
Sergey13 ©   (2006-10-16 14:03) [1]

А с форматированием кода совсем не знаком? Зря. Здорово жизнь облегчает.


 
Sergey13 ©   (2006-10-16 14:04) [2]

> В связи с этим вопрос: какой из вариантов наиболее производительный.

И так и эдак можно сделать и нормально и криво.


 
!!!!!!!!!!!!!!!!!!!   (2006-10-16 14:08) [3]

> А с форматированием кода совсем не знаком? Зря. Здорово
> жизнь облегчает.

Я этот запрос вытащил не из базы, а с через SQLMonitor.
Вот в каком виде достал в таком и показал.  :-)
Извиняйте.


> И так и эдак можно сделать и нормально и криво.

А если данный запрос выполняется в среднем каждые 10-20 секунд (зависит от настроек программы) ?


 
Sergey13 ©   (2006-10-16 14:12) [4]

> [3] !!!!!!!!!!!!!!!!!!!   (16.10.06 14:08)

> Вот в каком виде достал в таком и показал.  :-)

Не все надо показывать, что откуда-то достал. 8-)

> А если данный запрос выполняется в среднем каждые 10-20
> секунд (зависит от настроек программы) ?
Ну что. А частота современных процессоров около 3 гигагерц. 8-)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.034 c
6-1144297719
RA81
2006-04-06 08:28
2006.10.29
Как сделать туннель между двумя серверами?


2-1160413727
Jimmy
2006-10-09 21:08
2006.10.29
StringGrid


15-1159418720
Тульский
2006-09-28 08:45
2006.10.29
Понятие NULL


15-1159967209
ПЛОВ
2006-10-04 17:06
2006.10.29
HDD-шка шутит?


6-1147337285
MetalFan
2006-05-11 12:48
2006.10.29
залить файл на файлохост с помощью idHTTP





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский