|  30.01.2004, 11:21 | #1 | 
| Участник | Сложные  while select-запросы или вложенные циклы 
			
			Warmr в сообщении http://www.axforum.info/forums/showt...5400#post25400 сказал, что while select запрос с join'ом всё равно на  SQL-сервере исполняется как два цикла. Или утверждение относилось только к join'у с временной таблицей? Есть ли тогда смысл писать сложные sql-запросы?  С уважением, Сергей | 
|  | 
|  30.01.2004, 11:47 | #2 | 
| ---------------- | Сложные while select 
			
			В том топике говорилось про join постоянной и временной таблицы. Если возникает необходимость написать запрос с большим количеством join-ов (> 3), то имеет смысл рассмотреть варианты с разделением на 2. Так как план построения и время выполнения сложных запросов сильно зависит от наполнения базы данных (количество строк, состояния индексов, наложенных ограничений и т.п.) и опыт показывает, что такие запросы часто приводят к неожиданному торможению системы (вчера работало, а сегодня все висит). | 
|  | 
|  30.01.2004, 12:35 | #3 | 
| Участник | 
			
			или пользуйтесь хинтами типа forcenestedloop. хотя согласен с Wamr. Сложные запросы - опасная вещь на больших базах и при большом количестве пользователей | 
|  | 
|  30.01.2004, 14:15 | #4 | 
| Модератор | Цитата: 
		
			Изначально опубликовано mazzy  или пользуйтесь хинтами типа forcenestedloop. хотя согласен с Wamr. Сложные запросы - опасная вещь на больших базах и при большом количестве пользователей  , однако Обычно те, кто пользуются хинтами, знают, как они работают, на что влияют и умеют читать план запроса. Так что у них таких вопросов не возникает. А наобум пользоваться хинтами по принципу "большое время выполнения - используйте хинт такой-то", мягко говоря, чревато.. По поводу опасности - скорее надо просто аккуратно к ним относиться: тестировать, мониторить, обновлять статистики.. И не бояться экспериментировать с индексами На прошлой работе запросы с десятком join-ов таблиц в десятки тысяч - миллионы записей были если не нормой, то вполне обычным делом. И все жило, под чутким присмотром.. Прошу воспринимать как мысли вслух, а не наезд   | 
|  | 
|  30.01.2004, 14:26 | #5 | 
| ---------------- | 
			
			Vadik, полностью согласен Цитата: 
		
			И все жило, под чутким присмотром
		
	  Цитата: 
		
			И не бояться экспериментировать с индексами
		
	 | 
|  | 
|  30.01.2004, 14:39 | #6 | 
| Участник | Цитата: 
		
			Изначально опубликовано Vadik  Обычно те, кто пользуются хинтами, знают, как они работают, на что влияют и умеют читать план запроса. Так что у них таких вопросов не возникает. | 
|  | 
|  03.02.2004, 09:24 | #7 | 
| Участник | 
			
			Я несколько припозднился, но если не сложно, ответьте новичку на несколько глупых вопросов: 1) Что подразумевается под словами "сложный запрос" применительно к Axapta? 2) Будет ли разница в скорости выполнения такой конструкции: PHP код: 
			3) Что такое временные таблицы в Axapta и как они создаются? | 
|  | 
|  03.02.2004, 11:07 | #8 | 
| Дмитрий Ерин |  Хинты Цитата: 
		
			Изначально опубликовано mazzy  или пользуйтесь хинтами типа forcenestedloop. 1. Что такое "хинты", где про них почитать и как можно научиться ими пользоваться? 2. Имеет ли это отношение к использованию index и index hint в select-е? 3. Или же имеются ввиду т.н. "qualifiers", а именно: - reverse - firstFast - firstonly - forupdate - nbofetch - forceSelectOrder - forceNestedLoop - forceLiterals - forcePlaceholders 4. Если да, то подскажите, где искать про них информацию? В Dev. Guide и Best Practices как-то все разрозненно и вскользь, вобщем, как обычно  Заранее спасибо! 
				__________________   | 
|  | 
|  03.02.2004, 11:12 | #9 | 
| Участник | 
			
			Владимир Максимов: Будет разница, но что лучше пользовать зависит от количества строк в цикле и оn плана запроса при добавлении еще одной таблицы в запрос. Только строить план и смотреть - общего решения не существует. Ruff: Я сам с ораклом работаю - читать надо в документации к твоей СУБД. То есть MSSQL. | 
|  | 
|  03.02.2004, 13:06 | #10 | 
| Участник | Re: Хинты Цитата: 
		
			Изначально опубликовано Ruff  1. Что такое "хинты", где про них почитать и как можно научиться ими пользоваться? | 
|  | 
|  03.02.2004, 13:46 | #11 | 
| Дмитрий Ерин | 
			
			Спасибо, нашел!
		 
				__________________   | 
|  | 
|  | 
|  Похожие темы | ||||
| Тема | Ответов | |||
| Разница NotInTTS и Found | 6 | |||
| Вложенные запросы в аксапте | 3 | |||
| Сложные запросы в RLS | 12 | |||
| Сложные SQL запросы | 8 | |||
| Вложенные циклы while | 3 | |||
| 
 |