|
Модераторы: LSD |
|
Severyanin |
|
|||
Исследователь Профиль Группа: Участник Сообщений: 554 Регистрация: 31.7.2007 Где: Россия, Омск Репутация: нет Всего: 9 |
Добрый день. Возникла необходимость получения промежуточных данных запроса. Например, у меня есть несколько таблиц и запрос, который делает выборку из них с помощью JOIN. В результате я получаю готовый набор данных. Сейчас у меня задача написать функциональные тесты на такие запросы, соответственно, мне нужно подготовить фикстуры для них и заливать в них всю текущую информацию из таблиц я не могу. Значит, мне нужно каким-то образом получить промежуточные результаты для каждого из подзапросов, чтобы знать, какую часть данных заливать в фикстуры. Примерно что-то вроде explain analyse. но чтобы вместо метрик на каждую операцию выдавала подмножество результатов. Сталктвался ли кто-нибудь с таким инструментом?
Спасибо -------------------- "Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл "Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 3 Всего: 453 |
А что, подзапросы - недетерминированные?
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Severyanin |
|
|||
Исследователь Профиль Группа: Участник Сообщений: 554 Регистрация: 31.7.2007 Где: Россия, Омск Репутация: нет Всего: 9 |
Часть подзапросов я могу выделить, но часть либо без JOIN выжают все данные, либо с ними выдают пустой результат. Пытаюсь сейчас все это выполнять руками. Думал, что возможно есть для этого что-то вроде EXPLAIN ANALYSE, только чтобы оно показывало не бенчмарки, а данные, чтобы не перелопачивать кучу таких запросов вручную, что будет довольно долго
-------------------- "Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл "Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 3 Всего: 453 |
Такого не бывает. Просто потому, что промежуточные рабочие данные при выполнении запросов как правило не представимы в виде наборов записей. Да и по сути таковыми не являются.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Severyanin |
|
|||
Исследователь Профиль Группа: Участник Сообщений: 554 Регистрация: 31.7.2007 Где: Россия, Омск Репутация: нет Всего: 9 |
Понятно, спасибо. Тимлид наш просто говорил о подобной тулзе для MsSQLServer, вот я и начал искать
Добавлено через 1 минуту и 31 секунду
Не мог бы ты еще поделиться ссылкой на более подробную инфу -------------------- "Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл "Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 3 Всего: 453 |
Специально никогда не заморачивался на этом вопросе. Если тебя это интересует - начни с углублённого описания планов выполнения запросов и ищи сведения о том, как программно реализуются те или иные методы связывания, отбора, группировки и сортировки, т.е., например, как принятое решение оптимизатора использовать, ну, скажем, nested loop для связывания, трансформируется в программный код его выполнения. Не убеждён, что удастся найти информацию такой глубины для MS SQL, скорее надо искать её для серверов с открытым кодом (например, для MySQL) - принципы везде одни и те же, просто глубина проработки и вариабельность разная. Думаю, эта тулза (если таковая существует, в чём я пока не убеждён) выполняет самостоятельный парсинг запроса и отдельно запрашивает выполнение субструктур, которые ей удалось выделить из текста запроса. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PostgreSQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |