﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	resolution	keywords	cc
312	Упростить условие поиска записей конференций	alx	dimag	"Сейчас при поиске записей конференций в таблице базы данных используется очень сложное и очень странное выражение:

{{{
WHERE
(starttime) BETWEEN STR_TO_DATE('2016.08.22 01:30:00', '%Y.%m.%d %H:%i:%s')
AND STR_TO_DATE('2016.08.22 08:37:59', '%Y.%m.%d %H:%i:%s')
OR (endtime) BETWEEN STR_TO_DATE('2016.08.22 01:30:00', '%Y.%m.%d %H:%i:%s')
AND STR_TO_DATE('2016.08.22 08:37:59', '%Y.%m.%d %H:%i:%s') OR
STR_TO_DATE('2016.08.22 01:30:00', '%Y.%m.%d %H:%i:%s') BETWEEN starttime and endtime OR
STR_TO_DATE('2016.08.22 08:37:59', '%Y.%m.%d %H:%i:%s') BETWEEN starttime and endtime
}}}

На прямой вопрос в ticket:251#comment:6 о причине такого сложного условия ответа не последовало.

Отсутствие ответа я расцениваю как отсутствие разумных причин использования такого условия поиска, поэтому предлагаю использовать более простое, логичное и понятное условие поиска записей:

{{{
WHERE endtime >= STR_TO_DATE('2016.07.26 14:02:00', '%Y.%m.%d %H:%i:%s')
AND starttime <= STR_TO_DATE('2016.07.26 14:05:59', '%Y.%m.%d %H:%i:%s')
}}}

Это даст, во-первых, лучшее понимание кода программы и логики ее работы, и во-вторых, снизит нагрузку на сервер базы данных, уменьшив объем проверок в процессе SELECT'а."	улучшение	closed	major	2 очередь	ПО MC04-Dispatcher. Пульт диспетчера/техника	fixed	SQL query, audio	san
