Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Пустое условие при выборке данных / 5 сообщений из 5, страница 1 из 1
11.07.2013, 16:22
    #38328365
Dozent
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пустое условие при выборке данных
Здравствуйте, такое вопрос есть база DB2, сам я с ней мало знаком. Какое условие написать для того чтобы не гонять систему попросту?

Код: sql
1.
Where 0

не канает

Код: sql
1.
Where 0=1

работает, но затрачивает что то около 500 мс на это

какое условие поставить чтобы уменьшить время обработки?
...
Рейтинг: 0 / 0
12.07.2013, 13:42
    #38329318
knudsen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пустое условие при выборке данных
Dozent,

Гонять пустышкой ? это как?
а вот такая штука
SELECT * FROM SYSIBM.SYSDUMMY1 WHERE 0=1;
неужто полсекунды выполняется?

-->

SELECT * FROM SYSIBM.SYSDUMMY1 WHERE 0=1;
completed successfully.
No rows fetched


0 rows selected in 0.00 secs.
...
Рейтинг: 0 / 0
12.07.2013, 14:04
    #38329371
Dozent
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пустое условие при выборке данных
Код: plsql
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.
WITH
	Payments_tmp(srvc_ptn_id,
	payment_sum) AS 
	(	SELECT
			p.srvc_ptn_id,
			SUM(p.payment_sum) AS payment_sum 
		FROM
			clinic.payment p 
		GROUP BY
			p.srvc_ptn_id ) 
SELECT
	srvc_ptn.srvc_ptn_id,
	srvc_ptn.clcase_id,
	CASE 
		WHEN contract.cntr_id IS NOT NULL 
		THEN cntr.name_short 
		WHEN contract.ptn_id IS NOT NULL 
		THEN ptn_contract.ptn_fio 
		ELSE '' 
	END,
	CASE 
		WHEN srvc_ptn.contract_id IS NOT NULL 
		THEN '№ '||coalesce(contract.contract_num,
		'')||' от '|| 
		CASE 
			WHEN contract.contract_date IS NULL 
			THEN '' 
			ELSE CHAR(contract.contract_date,LOCAL) 
		END 
		ELSE '' 
	END,
	patient.ptn_fio,
	cliniccase.clcase_num,
	dprt.dprt_name,
	prsn.prsn_fio,
	service.service_name,
	srvc_ptn.pay_count,
	srvc_ptn.EXEC_DATE,
	srvc_ptn.sum,
	klsCurrency.ELEMENT_KLS_NAME,
	srvc_ptn.sum*srvc_ptn.pay_count,
	pt.payment_sum,
	kiPaymentkind.ELEMENT_KLS_NAME AS paymentkind_name ,
	CASE 
		WHEN pt.payment_sum < 0.00 
		THEN 1 
		WHEN COALESCE(srvc_ptn.reject_sign, 0) = 1 
		THEN 103 
		ELSE 0 
	END 
FROM
	clinic.srvc_ptn srvc_ptn 
		LEFT OUTER JOIN clinic.contract contract 
		ON contract.contract_id = srvc_ptn.contract_id 
		LEFT OUTER JOIN clinic.contractor cntr 
		ON cntr.cntr_id = contract.cntr_id 
		LEFT OUTER JOIN clinic.ptn_main ptn_contract 
		ON ptn_contract.ptn_id = contract.ptn_id 
		LEFT OUTER JOIN clinic.ptn_main patient 
		ON patient.ptn_id = srvc_ptn.ptn_id 
		LEFT OUTER JOIN clinic.cliniccase cliniccase 
		ON cliniccase.clcase_id = srvc_ptn.clcase_id 
		LEFT OUTER JOIN clinic.department dprt 
		ON dprt.dprt_id = srvc_ptn.exec_dprt_id 
		LEFT OUTER JOIN clinic.person prsn 
		ON prsn.prsn_id = srvc_ptn.exec_prsn_id 
		LEFT OUTER JOIN clinic.service service 
		ON service.service_id = srvc_ptn.service_id 
		LEFT OUTER JOIN clsdata.KLS_ITEM klsCurrency 
		ON klsCurrency.ELEMENT_KLS_ID = srvc_ptn.currency_id 
		LEFT OUTER JOIN clsdata.paymentkind klsPaymentkind 
		ON klsPaymentkind.ELEMENT_KLS_ID = srvc_ptn.paymentkind 
		LEFT OUTER JOIN clsdata.KLS_ITEM kiPaymentkind 
		ON kiPaymentkind.ELEMENT_KLS_ID = srvc_ptn.paymentkind 
		LEFT OUTER JOIN Payments_Tmp pt 
		ON pt.srvc_ptn_id = srvc_ptn.srvc_ptn_id 
WHERE  0=1




0 запись(ей) выделено [Извлечь (fetch) MetaData: 1мс] [Извлечь данные: 1мс]

[Выполнено: 12.07.2013 14:02:18] [Выполнение: 479мс]
...
Рейтинг: 0 / 0
12.07.2013, 14:07
    #38329380
Hunterik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пустое условие при выборке данных
А просто запрос из конструкции WITH сколько работает? =)
...
Рейтинг: 0 / 0
12.07.2013, 14:07
    #38329381
Dozent
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пустое условие при выборке данных
knudsenDozent,

Гонять пустышкой ? это как?
а вот такая штука
SELECT * FROM SYSIBM.SYSDUMMY1 WHERE 0=1;
неужто полсекунды выполняется?

-->

SELECT * FROM SYSIBM.SYSDUMMY1 WHERE 0=1;
completed successfully.
No rows fetched


0 rows selected in 0.00 secs.


0 запись(ей) выделено [Извлечь (fetch) MetaData: 0мс] [Извлечь данные: 1мс]

[Выполнено: 12.07.2013 14:05:48] [Выполнение: 2мс]
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Пустое условие при выборке данных / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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