Страница 2 из 2
					
				
				Добавлено: 12 дек 2005, 16:45
				 Den
				В 5-м Атлантисе вроде, говорят, появились агрерирующие функции. По идее они должны облегчить данную задачу. Но сам еще его не юзал и поэтому точно ответа дать не могу...так, мысли вслух  

 
			 
			
					
				
				Добавлено: 12 дек 2005, 17:34
				 coolibin
				в любом случае recorsintable сделает то же самое - полный пробег по выборке, так что с точки зрения скорости - без разницы.
если выборка длинная, то лучше не парится с такими красивостями
как вариант если идет выборка всегда приблизительно одинаковой длины, то запоминай в деске последнее количество секунд(минут) и удлиняй прогресс по времени прошедшему от начала операции - не так точно, но зато на быстродействии не скажется.
			 
			
					
				
				Добавлено: 12 дек 2005, 18:06
				 WiRuc
				coolibin писал(а):в любом случае recorsintable сделает то же самое - полный пробег по выборке, так что с точки зрения скорости - без разницы.
RecordsInTable возвращает кол-во записей в ФИЗИЧЕСКОЙ таблице, а не в логической. Никаких пробежек по выборке она не совершает.
 
			 
			
					
				
				Добавлено: 13 дек 2005, 12:26
				 san
				WiRuc
на скл платформе recordsintable=select count(nrec) from table;
на битриве возможно готовое значение
			 
			
					
				
				Добавлено: 13 дек 2005, 12:32
				 scanner
				san
енто как? можно поподробнее? А то я в танке.
			 
			
					
				
				Добавлено: 13 дек 2005, 12:34
				 WiRuc
				san писал(а):WiRuc
на скл платформе recordsintable=select count(nrec) from table;
В курсе 
 
Имелось в виду, что не делается COUNT по необходимой выборке, возвращается кол-во записей во всей таблице.
 
			 
			
					
				
				Добавлено: 13 дек 2005, 12:35
				 san
				scanner
профайлером можно посмотреть
			 
			
					
				
				Добавлено: 13 дек 2005, 12:41
				 WiRuc
				scanner писал(а):san
енто как? можно поподробнее? А то я в танке.
В первазиве, в заголовке таблицы храниться текущее значение записей в таблице (прям как DBF ей богу), поэтому можно спокойно извлечь это значение.
В MSSQL для получения кол-ва записей драйвером выполняется вот такой запрос
Хотя, в MSSQL тоже можно сразу получить готовое кол-во записей. Для этого нужно сделать запрос к системной таблице SYSINDEXES, в которой помимо прочего храниться кол-во записей для всех таблиц. Правда, это кол-во не всегда точно, но для приближенной оценки вполне годиться.
 
			 
			
					
				
				Добавлено: 13 дек 2005, 12:49
				 scanner
				WiRuc
Я так понимаю речь идет о физических таблицах, а как же быть с логическими таблицами?
			 
			
					
				
				Добавлено: 13 дек 2005, 12:54
				 WiRuc
				scanner писал(а):WiRuc
Я так понимаю речь идет о физических таблицах, а как же быть с логическими таблицами?
Никак, только "ручной" подсчет.