| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Оптимизация рапорта ...
			 
			
			Здраствуйте , 
		
		
		
		
		
		
		
	Пришлось сделать такой рапорт , где нужно отобрать данные >= Дата . Дело в том , что пока знаем две возможности - rangeDate.value(queryRange(fromdate, toDate)) или по value : rangeDate.value(fromdate) . Есть и индекс по нужной дате . Вот если попробуем только value , без queryRange , то быстродействие очень хорошое . С queryRange - уже работает медленно ...   . И нужно нам только первоначальная дата - чтобы данные были >= Дата . как сделать чтобы овцы были здоровые и волк сытый ... ?    Наверное есть какая нибудь возможность , чтобы задать хотимое условие и непотерять быстродействие ...С уважением , Римантас  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ничего не понял, честно говоря. 
		
		
		
		
		
		
			
		
		
		
		
	X++: rangeDate.value(queryRange(fromDate, toDate)) X++: rangeDate.value(fromDate) В первом случае получаем fromDate <= rangeDate <= toDate, а во втором rangeDate == fromDate А соответственно, во втором случае, и быстродействие выше, так как данные отбираются только за одну дату.  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от kashperuk
			 
 
			Ничего не понял, честно говоря. 
		
	X++: rangeDate.value(queryRange(fromDate, toDate)) X++: rangeDate.value(fromDate) В первом случае получаем fromDate <= rangeDate <= toDate, а во втором rangeDate == fromDate А соответственно, во втором случае, и быстродействие выше, так как данные отбираются только за одну дату.  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Боюсь вас расстроить, но queryRange здесь, думаю, совершенно не причем. 
		
		
		
		
		
		
			
		
		
		
		
	Его код доступен в приложении - он просто формирует строку фильтра. Для того, чтобы задать фильтр rangeDate >= fromDate, можно сделать так: X++: qbds.addRange(fieldNum(CustTrans, TransDate)).value(strFmt("%1..", rangeDate));  
		 | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			сколько данных в результате вы получаете? если таблица большая и запросы по дате это основные запросы к данной таблице, то рассмотрите вариант поставить индекс по дате как кластерный
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
	
	 | 
	
			 
			Похожие темы
		 | 
	||||
| Тема | Ответов | |||
| Оптимизация класса Tax | 43 | |||
| Оптимизация запроса - ranges | 13 | |||
| Оптимизация кода с LedgerTrans | 18 | |||
| Оптимизация производственного планирования | 19 | |||
| Оптимизация запросов | 3 | |||
		
  |