Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
24.12.2008, 22:32
|
|||
|---|---|---|---|
|
|||
Производительность сортировки. |
|||
|
#18+
Есть такая загвоздочка. Есть некий класс, содержащий кучу полей и среди них поля Flag и Field. На оба поля созданы Bitmap индексы. Есть запрос вида SELECT Id FROM Class WHERE Flag=2 OR Flag=3 Первая запись получается почти мгновенно. Если же его задать с правилом ORDER BY Field, то при большом количестве записей этого класса с большим разнообразием значений поля Field время получения первой записи иногда больше на порядки. SELECT Id FROM Class WHERE Flag=2 OR Flag=3 ORDER BY Field, Как можно это дело ускорить? Множить число индексов на всевозможные сочетания полей, участвующих в сортировке и фильтрации представляется нецелесообразным, поскольку это неизбежно ухудшит время вставки записи. Или в данном случае тоже следует переходить на COS? Для задач подсчета количества записей разного рода это уже позволило получить очень хороший выигрыш в производительности по сравнению с обычным SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.12.2008, 04:36
|
|||
|---|---|---|---|
Производительность сортировки. |
|||
|
#18+
Тут конечно надо посмотреть планы запросов, однако почти наверняка окажется, что в первом случае перебор идет по исходной глобали, а во втором случае - делается временная глобаль с верхним индексом Field. Можно ли это оптимизировать как-то - знают наверняка только разработчики SQL движка в Интерсистемсе. Попробуй сделать по Field не-bitmap индекс. А вообще лучше это в WRC спрашивать. На COS, наверное, можно написать более производительный алгоритм, побитово складывающий два индекса по flag а потом последовательно перемножающий их со всеми индексами field. Опять таки, я не уверен, что это уже не делается SQL движком - надо смотреть план запроса. =Сергей Шутов (logist) ООО Димас, Хабаровск Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.12.2008, 09:02
|
|||
|---|---|---|---|
Производительность сортировки. |
|||
|
#18+
Hisbreht Victor Есть запрос вида Код: plaintext У меня "шкурный" интерес... А запрос Код: plaintext как будет выполняться? Быстрее или медленнее? Что будет с оценкой запроса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.12.2008, 09:37
|
|||
|---|---|---|---|
Производительность сортировки. |
|||
|
#18+
Caché 2008.2.526 Сгенерировал 1000000 записей со случайными значениями Flag и Field. Код: plaintext 1. 2. Запросы вида Код: plaintext 1. 2. На моих данных: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.12.2008, 11:44
|
|||
|---|---|---|---|
Производительность сортировки. |
|||
|
#18+
servitдали одинаковый план и соответственно стоимость. Вот и верь после этого в оптимизацию запросов! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.12.2008, 13:32
|
|||
|---|---|---|---|
|
|||
Производительность сортировки. |
|||
|
#18+
Чем же тут не угодил оптимизатор? Условия в запросах и вправду эквивалентны: IN по определению - лишь краткая форма OR, не более. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.12.2008, 13:48
|
|||
|---|---|---|---|
Производительность сортировки. |
|||
|
#18+
Alexey MaslovIN по определению - лишь краткая форма OR, не более. Как раз всегда утверждалось другое. Типа более оптимален и все такое... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.12.2008, 14:07
|
|||
|---|---|---|---|
|
|||
Производительность сортировки. |
|||
|
#18+
Кем утверждалось и что именно? IN, как известно, может выступать как предикат в условиях равенства (equality comparisons) и в подзапросах (subquery comparisons). Наш случай - первый. По определению:Док-яThe IN predicate can serve as shorthand for the use of multiple equality comparisons linked together with the OR operator.Т.е. имеем Код: plaintext Более сложный случай - второй (Subquery Comparison), и насколько помню, как раз с этим были проблемы в Cache 5.0 и произошли серьезные подвижки в последних версиях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.12.2008, 14:15
|
|||
|---|---|---|---|
Производительность сортировки. |
|||
|
#18+
Alexey MaslovКем утверждалось и что именно? Кем-то из ИС... Цитат и ФИО привести уже не могу... Alexey MaslovЧто здесь можно соптимизировать? Панятия не имею... Вот и прошу время от времени потестиль тех, у кого большое количество даных, индексов и т.п... Пока разницы не наблюдалось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.12.2008, 15:09
|
|||
|---|---|---|---|
Производительность сортировки. |
|||
|
#18+
krvsa Вот и прошу время от времени потестиль тех, у кого большое количество даных, индексов и т.п... Пока разницы не наблюдалось. так было выведено, что $O(,-1) рабоатет медленне, чем просто $O() ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.12.2008, 15:16
|
|||
|---|---|---|---|
Производительность сортировки. |
|||
|
#18+
Про разницу с ордером я не знал... ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.12.2008, 16:18
|
|||
|---|---|---|---|
Производительность сортировки. |
|||
|
#18+
krvsaПро разницу с ордером я не знал... ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT я джо некоторого времени тоже)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.12.2008, 08:26
|
|||
|---|---|---|---|
|
|||
Производительность сортировки. |
|||
|
#18+
ceshka-krvsa Вот и прошу время от времени потестиль тех, у кого большое количество даных, индексов и т.п... Пока разницы не наблюдалось. так было выведено, что $O(,-1) рабоатет медленне, чем просто $O() ? А что, появилась левосторонняя ссылка в блоках? Вроде не замечал еще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.12.2008, 12:52
|
|||
|---|---|---|---|
|
|||
Производительность сортировки. |
|||
|
#18+
Сергей, не удивляйтесь: для некоторых форумчан Cache - черный ящик, им возможно и не интересно знать "что под капотом" (но надеюсь, что таких меньшинство, иначе здесь станет совсем грустно :). Отчасти в этом виновата и ИнтерСистемз: интерес к "внутренностям" не приветствуется, даже по каналам WRC нелегко что-то разузнать. Последнее описание формата БД, которым я располагаю, 10 летней давности, и, конечно, это 2К-формат БД. Некое понимание устройства 8К-БД приходит после ремонта оных с помощью ^RECOVER, но не все опции этой утилиты понятны. ИМХО, не хватает книги "Inside Cache" или "Cache Internals". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.12.2008, 13:14
|
|||
|---|---|---|---|
|
|||
Производительность сортировки. |
|||
|
#18+
Имел в виду, конечно, ^REPAIR :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.12.2008, 13:15
|
|||
|---|---|---|---|
|
|||
Производительность сортировки. |
|||
|
#18+
Во истину чтото скрытое но ценное. Вот толи MSM была ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.12.2008, 13:39
|
|||
|---|---|---|---|
Производительность сортировки. |
|||
|
#18+
Sergei Obrastsov А что, появилась левосторонняя ссылка в блоках? Вроде не замечал еще. тут имеется в виду, что идти вперёд естественно, и структура блока заточена только под это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.12.2008, 15:01
|
|||
|---|---|---|---|
|
|||
Производительность сортировки. |
|||
|
#18+
Если в двух словах, то да. 1) В блоках используется сжатие ключей, т.е. хранится изменение полной индексной ссылки по отношению к предыдущему узлу. 2) Хранится Right Link - ссылка на следующий блок на том же уровне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.12.2008, 15:40
|
|||
|---|---|---|---|
Производительность сортировки. |
|||
|
#18+
Alexey MaslovЕсли в двух словах, то да. 1) В блоках используется сжатие ключей, т.е. хранится изменение полной индексной ссылки по отношению к предыдущему узлу. 2) Хранится Right Link - ссылка на следующий блок на том же уровне. это многое объясняет))) а откуда информация? мне вот давно интересно как и что происходит на системном уровне, например механизм транзакций, механизм создания журнала, что происходит при появлении новой записи между двумя соседними... или это всё закрытая информация? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.12.2008, 16:03
|
|||
|---|---|---|---|
|
|||
Производительность сортировки. |
|||
|
#18+
Информация почерпнута из очень старой док-ии (10 лет назад она была еще бумажной :) и еще из столь же старого учебного пособия ИнтерСистемз, в переводе которого я участвовал. Если ISC не возражает, я могу вырезать главу про структуру БД (2К-блоки!) и выложить сюда. Но это, наверное, уже после праздников. Кроме того, некоторое знакомство с алгоритмами работы B-дерева помогает найти ответы на многие вопросы :) Здесь источников - море. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.12.2008, 16:16
|
|||
|---|---|---|---|
Производительность сортировки. |
|||
|
#18+
Alexey MaslovИнформация почерпнута из очень старой док-ии (10 лет назад она была еще бумажной :) и еще из столь же старого учебного пособия ИнтерСистемз, в переводе которого я участвовал. Если ISC не возражает, я могу вырезать главу про структуру БД (2К-блоки!) и выложить сюда. Но это, наверное, уже после праздников. Кроме того, некоторое знакомство с алгоритмами работы B-дерева помогает найти ответы на многие вопросы :) Здесь источников - море. да, конечно, лишним не будет, выкладывайте, с радостью почитаю ничо, если я еще спрошу? в оракле принцип работы с В-деревьями такой же, как в М-системах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.12.2008, 03:45
|
|||
|---|---|---|---|
Производительность сортировки. |
|||
|
#18+
Alexey MaslovИнформация почерпнута из очень старой док-ии (10 лет назад она была еще бумажной :) и еще из столь же старого учебного пособия ИнтерСистемз, в переводе которого я участвовал. Если ISC не возражает, я могу вырезать главу про структуру БД (2К-блоки!) и выложить сюда. Но это, наверное, уже после праздников. Кроме того, некоторое знакомство с алгоритмами работы B-дерева помогает найти ответы на многие вопросы :) Здесь источников - море. Алексей, может выложите на writeimagejournal, там и База Знаний имеется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.12.2008, 12:19
|
|||
|---|---|---|---|
|
|||
Производительность сортировки. |
|||
|
#18+
cheshkaв оракле принцип работы с В-деревьями такой же, как в М-системах?Не знаток Оракла, но подозреваю, что нет. В традиционных РСУБД В-деревьями могут быть индексы, а данные хранятся в таблицах. Cache (и М-системы), напротив, хранят данные на нижнем уровне B-дерева. Чтобы подчернуть этот факт, его обычно называют "B*-дерево". Это по классике :) я многого не знаю про Оракл, и он, возможно, тоже умеет нечто подобное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.12.2008, 12:36
|
|||
|---|---|---|---|
|
|||
Производительность сортировки. |
|||
|
#18+
Dimonможет выложите на writeimagejournalУвы, Copyright мне этого не позволяет :( Выходные данные документа такие: INTERSYSTEMS' EDUCATIONAL SERVICES. Руководство для студентов по системному и сетевому администрированию Caché. InterSystems Corporation Copyright, 1998, C52898 Глава, которую имел в виду, называется "Module 5. Основные понятия". Может быть, я что-то свое про это напишу, когда будет время (в Новом году :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.12.2008, 12:51
|
|||
|---|---|---|---|
Производительность сортировки. |
|||
|
#18+
Alexey Maslovcheshkaв оракле принцип работы с В-деревьями такой же, как в М-системах?Не знаток Оракла, но подозреваю, что нет. В традиционных РСУБД В-деревьями могут быть индексы, а данные хранятся в таблицах. Cache (и М-системы), напротив, хранят данные на нижнем уровне B-дерева. Чтобы подчернуть этот факт, его обычно называют "B*-дерево". Это по классике :) я многого не знаю про Оракл, и он, возможно, тоже умеет нечто подобное. спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=39&mobile=1&tid=1558552]: |
0ms |
get settings: |
9ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
140ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 466ms |

| 0 / 0 |
