Переключение на Главную Страницу Страницы: 1 ... 3 4 [5] 6  ОтправитьПечать
Очень популярная тема (более 25 ответов) Оптимизация запроса для ТП (число прочтений - 11346 )
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Оптимизация запроса для ТП
Ответ #60 - 07. Марта 2008 :: 18:44
Печать  
План выполнения для итерации 7:
  

explan7.PNG ( 5 KB | Загрузки )
explan7.PNG
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Оптимизация запроса для ТП
Ответ #61 - 07. Марта 2008 :: 18:55
Печать  
Седьмая и шестая итерации дают, на имеющихся даных, один и тот же план выполнения (и кстати очень логичный), который не зависит (я так думаю, но могу ошибаться Улыбка ) от полей в селект-листе.
« Последняя редакция: 10. Марта 2008 :: 11:18 - spock »  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Оптимизация запроса для ТП
Ответ #62 - 07. Марта 2008 :: 18:57
Печать  
Однако, четвертая и пятая итерации (с виду, попадающие в индекс) дают разные планы выполнения - букнарки, которые по времени показывают свое зло.
  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Оптимизация запроса для ТП
Ответ #63 - 07. Марта 2008 :: 19:00
Печать  
Где-то так... (пардон, что задержался, но, исключительно, не было времени).
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Оптимизация запроса для ТП
Ответ #64 - 07. Марта 2008 :: 21:50
Печать  
ADirks писал(а) 06. Марта 2008 :: 05:14:
Про сокрытие колонок, и модификацию запроса.  Была такая проблема, когда восстанавливались настройки ТП, и в частности видимость колонок.  Получали, что колонок визуально нет, а в запросе они оставались. Выяснилось, что если видимость колонок выключать до назначения поставщика данных, то поставщик эти скрытые колонки в запросе оставит.  Что в общем то и неудивительно, но было бы неплохо такое поведение изменить.

И охота вам, Леша, в одиночку муд"хаться.
Вы как те давние пользователи юникс систем, собрали информацию о разных ляпах и используете ее как конкурентное преимущество Очень довольный
Нет чтобы куда-то задокументировать, в багзиллу там, например.
Я так не поступаю, я когда чего-нибудь в ИТ нахожу - я тебе первым делом телегу пишу.
Типа, так и так, приглашаю муд"хаться вместе. Улыбка
  

De quelle planète es-tu?
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Оптимизация запроса для ТП
Ответ #65 - 10. Марта 2008 :: 05:35
Печать  
Цитата:
И охота вам, Леша, в одиночку муд"хаться.
Вы как те давние пользователи юникс систем, собрали информацию о разных ляпах и используете ее как конкурентное преимущество Очень довольный
Нет чтобы куда-то задокументировать, в багзиллу там, например.
Я так не поступаю, я когда чего-нибудь в ИТ нахожу - я тебе первым делом телегу пишу.
Типа, так и так, приглашаю муд"хаться вместе. Улыбка

Это просто такой "благоприобретенный" стереотип мышления. Типа, никто тебе не поможет кроме тебя же самого. Т.е. иногда вот так вот мудохаешься, мудохаешься, но даже и в голову не приходит кого-то попросить о помощи, или хотя бы поделиться горем поделиться.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Оптимизация запроса для ТП
Ответ #66 - 10. Марта 2008 :: 06:17
Печать  
spock писал(а) 07. Марта 2008 :: 18:33:
Седьмая итерация: финт и полей больше
этот финт, имхо, благопристойнее выглядит так:
Код
Выбрать все
SELECT top 30
	t1.isfolder as Пиктограммка,
	t1.descr as Наименование,
	t1.row_id as row_id,
	t2.code as Код, -- Добавил Код
	t2.ismark as ПометкаУдаления, -- Добавил пометку
	t2.SP107 as ИНН -- Добавил ИНН
FROM sc133 t1 (NOLOCK) -- Справочник.Клиенты
left join sc133 t2 (NOLOCK) on t2.row_id = t1.row_id
WHERE t1.parentid = '     0   '
ORDER BY  -- ЭТО ДЛЯ ПОРЯДКА
	t1.parentid,
	t1.isfolder,
	t1.descr,
	t1.row_id 


ps
А вообще, признаю, очень поучительно.
Нужно заставить себя не забывать избавляться от букмарков по-возможности.
  

1&&2&&3
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Оптимизация запроса для ТП
Ответ #67 - 11. Марта 2008 :: 09:06
Печать  
trad писал(а) 10. Марта 2008 :: 06:17:
этот финт, имхо, благопристойнее выглядит так:

1. SQL Server Execution Times: 300 ms
1. Execution time: 313 ms

2. SQL Server Execution Times: 300 ms
2. Execution time: 296 ms

3. SQL Server Execution Times: 309 ms
3. Execution time: 313 ms

Твой вариант на этих данных.
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Оптимизация запроса для ТП
Ответ #68 - 11. Марта 2008 :: 10:36
Печать  
spock писал(а) 11. Марта 2008 :: 09:06:
Твой вариант на этих данных.

хмм...  Озадачен
у меня оба варианта показывают одинаковое время (в пределах некоторой погрешности)
  

1&&2&&3
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Оптимизация запроса для ТП
Ответ #69 - 11. Марта 2008 :: 11:04
Печать  
trad писал(а) 11. Марта 2008 :: 10:36:
хмм...  Озадачен
у меня оба варианта показывают одинаковое время (в пределах некоторой погрешности)

хз, но вариант с джойном я для себя рассматривал практически сразу (только не левый, а inner). В итоге пришел к подзапросу.
  
Наверх
ICQ  
IP записан
 
DmitrO
1c++ power user
Отсутствует


ex developer

Сообщений: 579
Местоположение: г. Киров
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Оптимизация запроса для ТП
Ответ #70 - 11. Марта 2008 :: 11:57
Печать  
spock, что у тебя за сервер такой.. на 30-ти записях получить время в 100-300 мс не реально (очень много!)
..чета не ладно у тебя, я не стебаюсь, я серьезно.
  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Оптимизация запроса для ТП
Ответ #71 - 11. Марта 2008 :: 12:04
Печать  
DmitrO писал(а) 11. Марта 2008 :: 11:57:
spock, что у тебя за сервер такой.. на 30-ти записях получить время в 100-300 мс не реально (очень много!)
..чета не ладно у тебя, я не стебаюсь, я серьезно.



spock писал(а) 07. Марта 2008 :: 17:59:
Сейчас результаты измерений на таблице, где всего элементов 451411, на первом уровне 185733 элементов, размер строки 1497 байт. Все дальнейшие измерения проходят на этой же таблице.(если не указано другое)


Про аппаратную часть: 2*AMD Opteron 280 2.41 GHz, 4 GB, Win2003 sp1
  
Наверх
ICQ  
IP записан
 
DmitrO
1c++ power user
Отсутствует


ex developer

Сообщений: 579
Местоположение: г. Киров
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Оптимизация запроса для ТП
Ответ #72 - 11. Марта 2008 :: 12:34
Печать  
spock, все равно много, я ползаю по таблице 1047385 записей длина записи ~200 байт, страница ТП 50 строк, те же букмарклукапы: время 0-16 мс. Задержки подчитывания не ощущаю..
Боевой сервер правда.. все равно подумай.
  
Наверх
ICQ  
IP записан
 
DmitrO
1c++ power user
Отсутствует


ex developer

Сообщений: 579
Местоположение: г. Киров
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Оптимизация запроса для ТП
Ответ #73 - 11. Марта 2008 :: 12:56
Печать  
Цитата:
Про аппаратную часть: 2*AMD Opteron 280 2.41 GHz, 4 GB, Win2003 sp1

Ну это-то, понятно (AWE надеюсь воткнуто), ты бы лучше про дисковую подсистему че нить написал.
  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Оптимизация запроса для ТП
Ответ #74 - 11. Марта 2008 :: 14:43
Печать  
DmitrO писал(а) 11. Марта 2008 :: 12:34:
spock, все равно много, я ползаю по таблице 1047385 записей длина записи ~200 байт, страница ТП 50 строк, те же букмарклукапы: время 0-16 мс. Задержки подчитывания не ощущаю..
Боевой сервер правда.. все равно подумай.

Давай подробности измерений чтоли.

И вот это у тебя было?
Код
Выбрать все
DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE 

  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 3 4 [5] 6 
ОтправитьПечать