Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
t_e_m_a Member Откуда: Сообщений: 122 |
Можно как-то посмотреть скомпилированый запрос который выполняет exec sp_executesql. За чем это. Я вижу в профайлере скрипты и я подозреваю что где-то в таком запросе exec sp_executesql N'SELECT this_.EmailID, this_.EmailAddress FROM Email WHERE EmailAddress = @p0',N'@p0 nvarchar(4000)',@p0=N'temp@email.com' идет неявное преобразование типов с varchar в nvarchar или на оборот. Потому что когда я выполняю этот запрос в нормальном виде я вижу 6 логически чтений, а в профайлере я вижу 2600. Буду рад за любую подсказку. |
18 дек 14, 19:45 [17019141] Ответить | Цитировать Сообщить модератору |
a_voronin Member Откуда: Москва Сообщений: 4807 |
Да, профайлером, например. |
||
18 дек 14, 20:47 [17019358] Ответить | Цитировать Сообщить модератору |
t_e_m_a Member Откуда: Сообщений: 122 |
Дак в профайлере будет в таком же виде запрос, это запрос из профайлера. |
||
18 дек 14, 21:18 [17019459] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31780 |
|
||||
18 дек 14, 21:21 [17019476] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31780 |
Но зато можно посмотреть план; там, если есть конвертация параметра, будет написано что то вроде: CONVERT_IMPLICIT(varchar(4000),[@p0],0) А вообще ИМХО дело не в конвертации. Планы посмотрите, более подробный трейс, что то же должно отличаться, раз количество чтений разное. |
||||
18 дек 14, 21:31 [17019522] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
В каком месте ?
Чем ваш "нормальный вид" отличается от показанного здесь ? |
||||
18 дек 14, 22:01 [17019652] Ответить | Цитировать Сообщить модератору |
a_voronin Member Откуда: Москва Сообщений: 4807 |
А вы откройте профайлер, повыбирайте разные событие и посмотрите... на виды запроса. |
||||
18 дек 14, 22:05 [17019665] Ответить | Цитировать Сообщить модератору |
t_e_m_a Member Откуда: Сообщений: 122 |
Под нормальным видом я имел ввиду обычный запрос который я выполняю в managment studio SELECT * FROM MyTable |
||
19 дек 14, 18:04 [17025033] Ответить | Цитировать Сообщить модератору |
t_e_m_a Member Откуда: Сообщений: 122 |
Не нашел в профайлере планы запросов. |
||
19 дек 14, 18:06 [17025041] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Ничего, что это совсем другой запрос ? |
||
19 дек 14, 18:08 [17025050] Ответить | Цитировать Сообщить модератору |
t_e_m_a Member Откуда: Сообщений: 122 |
Я имел ввиду что в менеджмент студии я выполняю такого вида запрос
|
||
19 дек 14, 18:39 [17025160] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31780 |
Сравнивайте одинаковые запросы, а не разные, разные, конечно, будут выполняться разное время.
|
||||||
19 дек 14, 19:48 [17025452] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
А что вам мешает запустить в студии exec sp_executesql N'SELECT this_.EmailID, this_.EmailAddress FROM Email WHERE EmailAddress = @p0',N'@p0 nvarchar(4000)',@p0=N'temp@email.com' |
||||
19 дек 14, 19:52 [17025460] Ответить | Цитировать Сообщить модератору |
t_e_m_a Member Откуда: Сообщений: 122 |
Типа продебажить? Если я просто это выполню то количество чтений будет минимальным, но когда я вижу этот запрос в профайлере, то количество чтений в 1000 раз больше. |
||
24 дек 14, 17:43 [17047708] Ответить | Цитировать Сообщить модератору |
_djХомяГ
Guest |
Может не в тему - это какое то сторонее приложение генерирует запросы (а ля Axapta и тд и тп) ? |
24 дек 14, 18:39 [17048050] Ответить | Цитировать Сообщить модератору |
t_e_m_a Member Откуда: Сообщений: 122 |
Это NHibernate генерирует такие запросы. |
||
24 дек 14, 19:50 [17048337] Ответить | Цитировать Сообщить модератору |
Mind Member Откуда: Лучший город на Земле Сообщений: 2322 |
t_e_m_a, Если запрос выполнялся недавно, то можно попытаться найти его план в кэше. Например вот так.
|
|
24 дек 14, 20:36 [17048475] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
запустить в студии, чтобы увидеть план выполнения |
||||
25 дек 14, 01:54 [17049175] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |