|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
Добрый день уважаемые форумчане. есть таблица (под миллиард записей), делаю простой запрос, возвращает от 1 до 200 строк( в зависимости от параметров), время выполнени может варьироваться вплоть до несколко минут. Подскажите пожалуйста, можно ли как то это оптимизировать? Server 2016. Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 08:29 |
|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
kvitnitskiy, перевести таблицу в columnstore ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 08:30 |
|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
a_voronin, Увы, я новичек в этом. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 08:32 |
|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
нету прав на создание ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 09:08 |
|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
kvitnitskiy есть таблица (под миллиард записей), делаю простой запрос, возвращает от 1 до 200 строк( в зависимости от параметров), время выполнени может варьироваться вплоть до несколко минут. Подскажите пожалуйста, можно ли как то это оптимизировать? Код: sql 1.
или даже лучше: Код: sql 1.
kvitnitskiy нету прав на создание Это же очевидно: ничего нельзя сделать, раз запрещено что то делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 09:40 |
|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
alexeyvg Очевидно, построить индекс: Код: sql 1.
Вот мне не очевидно, потому что потом таблица будет обвешана десятком индексов под каждый запрос и будет много места жрать. Медленный insert и update. А Columnstor тут прописан. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 09:47 |
|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
a_voronin alexeyvg Очевидно, построить индекс: Код: sql 1.
Вот мне не очевидно, потому что потом таблица будет обвешана десятком индексов под каждый запрос и будет много места жрать. Медленный insert и update. А Columnstor тут прописан. А вот насчёт Columnstor мне совершенно неочевидно. Звучит как призыв создавать Columnstor вместо даже кластерного уникального индекса. Зачем тут Columnstor, если нужен поиск от одной до сотни записей по условию равенства пары полей? С таким подходом становится непонятно, почему МС не упразднила обычные индексы, ведь есть же Columnstor. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 09:59 |
|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
kvitnitskiy нету прав на создание авторС помощью транзакции SE11 заходим в режим редактирования таблицы и нажимаем кнопку изменить. Затем Goto-->IndexesТам же можно посмотреть, какие индексы есть у этой таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 10:07 |
|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
alexeyvg a_voronin пропущено... Вот мне не очевидно, потому что потом таблица будет обвешана десятком индексов под каждый запрос и будет много места жрать. Медленный insert и update. А Columnstor тут прописан. А вот насчёт Columnstor мне совершенно неочевидно. Звучит как призыв создавать Columnstor вместо даже кластерного уникального индекса. Зачем тут Columnstor, если нужен поиск от одной до сотни записей по условию равенства пары полей? С таким подходом становится непонятно, почему МС не упразднила обычные индексы, ведь есть же Columnstor. Я не призываю отказываться от обычных индексов, но тут выбор нескольких кодов, выбор небольшого объема из большой таблице. Ускорение будет как минимум от того, что занимать будет все меньше места. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 10:44 |
|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
alexeyvg авторС помощью транзакции SE11 заходим в режим редактирования таблицы и нажимаем кнопку изменить. Затем Goto-->Indexes И все ложится с концами. Ибо надо смотреть какой скрипт будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 10:46 |
|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
alexeyvg, Доступа как у эндюзера-нету. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 11:51 |
|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
kvitnitskiy alexeyvg, Доступа как у эндюзера-нету. Если ты ничо изменить не можешь => ничего ускорить нельзя. ЗЫ. Хинт "БЫСТРО" еще в стадии разработки. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 13:34 |
|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
a_voronin А Columnstor тут прописан. А обоснуй будет? Ибо мне тоже это утверждение видится весьма сомнительным. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 15:15 |
|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
Критик a_voronin А Columnstor тут прописан. А обоснуй будет? Ибо мне тоже это утверждение видится весьма сомнительным. +1, a_voronin, там же выборка не диапазона, а можно сказать поиск по ключам. конечно все зависит от селективности предиката, но если ТС говорит что будет возвращаться по 200 строк, то имхо колумстор тут избыточен ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 15:59 |
|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
Ок, спасбио всем :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 16:04 |
|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
felix_ff Критик пропущено... А обоснуй будет? Ибо мне тоже это утверждение видится весьма сомнительным. +1, a_voronin, там же выборка не диапазона, а можно сказать поиск по ключам. конечно все зависит от селективности предиката, но если ТС говорит что будет возвращаться по 200 строк, то имхо колумстор тут избыточен Как раз выбирание небольшого числа записей на большой таблице при достаточно гранулярном условии фильтрации хорошо работает на колумнсторе. Таблица меньше занимает места, вы быстро выходить на очень узкий диапазон записей, выбираются только нужные поля, не затрагивая остальные. Это выгрузка из SAP отфильтрованная по номеру документа. Просто по числу страниц, которые надо прочитать это гораздо меньше. Альтернатива трансформируйте в схему Звезда, заменяя строковые ID на суррогатные INT. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 17:09 |
|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
a_voronin felix_ff пропущено... +1, a_voronin, там же выборка не диапазона, а можно сказать поиск по ключам. конечно все зависит от селективности предиката, но если ТС говорит что будет возвращаться по 200 строк, то имхо колумстор тут избыточен Как раз выбирание небольшого числа записей на большой таблице при достаточно гранулярном условии фильтрации хорошо работает на колумнсторе. Таблица меньше занимает места, вы быстро выходить на очень узкий диапазон записей, выбираются только нужные поля, не затрагивая остальные. Это выгрузка из SAP отфильтрованная по номеру документа. Просто по числу страниц, которые надо прочитать это гораздо меньше. Альтернатива трансформируйте в схему Звезда, заменяя строковые ID на суррогатные INT. Вы таблицу видели? А запрос? Данные явно добавляются по дате, и в запросе нет фильтра по дате. Большинство сегментов CS не получится исключить по метаданным, а следовательно будет полный скан всего миллиардного CS, а это гарантированно дольше (много дольше) поиска в 1 index seek (с одним спуском по дереву и последующему range scan) 200-300 записей. А про вот это a_voronin Медленный ... update. А Columnstor тут прописан. update вообще противопоказан для и CS , т.к. ( в отличии от insert-ов) он навсегда (до ребилда) зависнет в дельтасторе. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 17:20 |
|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
колумнстор в принципе для статичных, редко пополняемых и еще реже изменяемых данных. Автору нужен простой индекс. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 17:41 |
|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
Владислав Колосов колумнстор в принципе для статичных, редко пополняемых и еще реже изменяемых данных. Нет, он вполне подходит для append only таблиц (даже без секционирования). Всякие DWH, логи, потоки каких-то событий и т.п. Асинхронный процесс автоматически собирает пачки добавленных записей из дельтасторе и генерит новые сегменты. Вопрос в последующих выборках Если это выборки с условием по монотонно растущему значению (обычно, дата событий, документа и т.п.), то метаднные сегментов (min max по каждому полю) позволяют быстро находить нужные сегменты. Если это агрегаты по большой доли данных и только части полей, то сжатие позволяет читать меньше данных с диска, а колоночное хранение игнорировать данные прочих полей. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 18:00 |
|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
msLex, Я не экспериментировал, но у меня есть смутное подозрение, что дельта-механизм будет вызывать периодические подвисания запросов при более-менее интенсивной вставке. Также есть сомнения относительно производительности переноса на реплику высокой доступности, эксплуатационного удобства, изменения схемы данных, к примеру. Все нововведения имеют довольно значимые недостатки, компилированные процедуры, таблицы в памяти и прочее. Область применения довольно узкая и круг задач соответственный. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 18:10 |
|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
Владислав Колосов msLex, Я не экспериментировал, но у меня есть смутное подозрение, что дельта-механизм будет вызывать периодические подвисания запросов при более-менее интенсивной вставке. Также есть сомнения относительно производительности переноса на реплику высокой доступности, эксплуатационного удобства, изменения схемы данных, к примеру. Все нововведения имеют довольно значимые недостатки, компилированные процедуры, таблицы в памяти и прочее. Область применения довольно узкая и круг задач соответственный. Не переживайте, все это у нас работает и проблем нет. Размер добавляемых данных (уже в пожатом в CS виде) около 1.5 ТБ в день. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 18:14 |
|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
a_voronin Как раз выбирание небольшого числа записей на большой таблице при достаточно гранулярном условии фильтрации хорошо работает на колумнсторе. Таблица меньше занимает места, вы быстро выходить на очень узкий диапазон записей, выбираются только нужные поля, не затрагивая остальные. Это выгрузка из SAP отфильтрованная по номеру документа. Просто по числу страниц, которые надо прочитать это гораздо меньше. Для указанного мной индекса это будет всегда одна страница. А сколько будет для колумнстора? Например, для 50 записей, и для 5 записей, можете назвать число? Я просто не понимаю, что это за такой волшебный индекс, который читает быстрее чем из дерева по ключу, и ещё и обновляется быстрее. a_voronin Альтернатива трансформируйте в схему Звезда, заменяя строковые ID на суррогатные INT. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 19:33 |
|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
alexeyvg, Господа, добавлю здесь, что это не конкретно база SAP, это так называемый Simplement, 1 в 1 зеркало SAP на базе MS SQL 2016, куда зеркалятся таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 20:00 |
|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
kvitnitskiy alexeyvg, Господа, добавлю здесь, что это не конкретно база SAP, это так называемый Simplement, 1 в 1 зеркало SAP на базе MS SQL 2016, куда зеркалятся таблицы. Просто если действительно ничего нельзя, то вопрос теряет смысл. Чёрный ящик опечатан, как работает, так и работает, пишите письма в САП. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 22:36 |
|
оптимизировать время выполнения запроса.
|
|||
---|---|---|---|
#18+
Владислав КолосовЯ не экспериментировал, но у меня есть смутное подозрение, что дельта-механизм будет вызывать периодические подвисания запросов при более-менее интенсивной вставке. Также есть сомнения относительно производительности переноса на реплику высокой доступности, эксплуатационного удобства, изменения схемы данных, к примеру. Сжатие дельты -- процесс асинхронный. Поэтому если хватает ресурсов на сжатие, все будет пучком. Основные проблемы колумнстора -- нетипичные для него выборки (к примеру, точечные) и модификации. В остальном все классно. Экономия места на сдачу. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 23:06 |
|
|
start [/forum/topic.php?fid=46&msg=39958142&tid=1686112]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 18ms |
total: | 157ms |
0 / 0 |