184 похожих чатов

По поводу AggregatingMT еще подскажите пожалуйста, мне нужно делать фильтрации

по ~10 колонкам, получается в ORDER BY должны быть эти 10 колонок... или делать несколько табличек, как правильнее?

6 ответов

8 просмотров

ну так идея колоночных баз данных, что индексы не нужны, все и так работает.

Stranger- Автор вопроса
Denny [Altinity]
ну так идея колоночных баз данных, что индексы не ...

просто в обычном MT насколько я помню не рекомендуется ключ сортировки растягивать на 10 колонок, но в AggregatingMT если колонка не в ключе сортировки - она должна быть AggregatingFunction

Stranger
просто в обычном MT насколько я помню не рекоменду...

да, поэтому и есть ORDER BY и PRIMARY KEY, в PRIMARY KEY кладете 3 колонки, а в ORDER BY 33

Stranger- Автор вопроса

Зависит от селектов, которые пойдут к данной таблице. Если к данной таблице подразумевается настройка на разные включенные фильтры дашборда, например на 1, 3, 4; 2, 5, 6 и 7, 8 столбцы, лучше будут работать матер. проекции к данной таблице, настроенные именно на эту сортировку. Сортировку лучше настраивать начиная со столбцов с минимальным количестом уникальных значений (мощностью), с последовательным увеличением. Этот момент проще самому посмотреть данных, сделав множественную сортировку в дибивере, или в датагрпе на небольшой выборке. Смысл сортировки в создании серий повторяющихся значений в столбце, по которым может работать бинарный алгоритм при фильтрации, агрегации, join, или кодирование в RLE, lz4. При сортировке по уникальному id для последующих "этажей" order by останутся подгруппы из одного значения, сортировать там будет нечего и последующие уровни сортировки станут бессмысленными. Тот же самый эффект происходит при множественной сортировке, при условии, что проход по данным происходит не последовательно, с первого по последний из отсортированных столбцов, а скажем, сразу на 8-й. Потом ещё по последовательности сортировки. В витринах часто встречаются однотипные, заранее просчитанные статусы из 2х - 5ти уникальных значений. По идее, если написать простейший скрипт, вычисляющей корреляцию между однотипными столбцами, оптимально выбранная последовательность сортировки должна работать. Эта идея реализована в Дизайнере Вертики, судя по служебным меткам, остающимся после его запуска. Пару лет назад возникала идея написать и потестить подобный скриптик, но не дошли руки, хватало других забот.

Stranger- Автор вопроса

Похожие вопросы

Обсуждают сегодня

анрей С какой целью зашёл?
КТ315
42
я часов 15 назад начал пытаться написать хоть что-то напоминающее ос и у меня есть проблема, которую я пытаюсь решить последние часов 5: есть крч 2 исходника с минимальным код...
Al1to
15
Я не очень много работал с потоками, тут возник вопрос - если будет одновременный доступ к памяти из двух разных потоков, это само по себе приведет к ошибке?
The Bird of Hermes
25
Слушайте, никак не могу заставить работать сортировку в TClientDataSet! Вроде все делаю правильно, создаю индекс, присваиваю его название ClientDataSet1.IndexName, первый раз...
Ivan Burnatov
7
а вот интересный вопрос появляется: допустим у нас есть приложение с системой модулей. Будет ли считаться система модуль+прога ассемблерной программой если: а) Прога на Си, м...
Mixail Frolov
29
я в заголовке имплементировал функцию. В заголовке стоят гарды. Но я все равно получаю multiple definitions. Как это может происходить?
Павλо 🇺🇦
15
как можно вывести первые 100 символов поля content на странице?
Artem
10
Или у тебя COMChecker ловит только свои сообщения, которые он отправил? Не знаю, как у тебя он работает.
КТ315
11
коллеги, добрый вечер! А никто не знает как модальная форма может себя закрыть? Ну допустим модальная форма определила, что смысла ей работать нет и хочет вернуть modalResult...
Михаил
83
Как это? А скрин ошибки хоть есть?
Александр (Rouse_) Багель
14
Карта сайта