INFOSTART EVENT 2018 EDUCATION

Второй тур голосования за доклады.
Окончание 5 сентября.

Ошнуров Андрей | Программист | Предприниматель

«РусскийФокс — 1С-подобный язык программирования»

Новый язык 1С-подобный объектно-ориентированный язык программирования РусскийФокс (интерпретатор), FreeWare. Удобен для обучения (Размер платформы 14Мб, инсталляции не требует. Разрабатывается на FoxPro 9) Удобен для системных администраторов: писать сценарии для командной строки. Операционная система WinXP и выше. На данный момент из синтакс-помошника учебной версии 1С реализованы все функции работы со строками, все функции работы со значениями типа Дата, функции преобразования значений (число, строка, дата). Пока отсутствует отладчик, но реализованы операторы ПОПЫТКА, ИСКЛЮЧЕНИЕ, КОНЕЦПОПЫТКИ; В ближайшее время планируется создать объекты для работы с DBF-файлами (с CDX индексами), объект для работы с MySQL-сервером, генерация отчетных форм на основе шаблонов OpenOffice и LibreOffice (либо на MS Excel), создание экранных форм ввода данных, создания меню, объекты типа строка ввода, кнопки, таблица, чекбоксы и т.д.. Особое внимание будет уделено взаимодействию с платформой 1С. Доклад будет посвящен краткому обзору возможностей и демонстрации примеров написания кода.

Неоптимальный план запросов

Администрирование - Оптимизация БД (HighLoad)

38
Шпаргалка к экзамену "Эксперт по технологическим вопросам".

-На прошлой неделе учил дочку запоминать цвета радуги: Каждый Охотник Желает Знать, Где Сидит Фазан. Это очень надежный способ. Сам его использую уже около сорока лет. Применим его для подготовки к экзамену по технологическим вопросам. Ниже шпаргалка к популярному вопросу: «Расскажите о признаках неоптимальности в плане запросов». Конечно, мы знаем эти признаки, но быстро назвать их все в условиях стресса может не получиться. Итак, примерный перечень:

  • Table spool, Lazy spool, предупреждения в операторах сортировки о нехватке памяти свидетельствует об использовании подкачки с жесткого диска. Постараемся избегать использование самого медленного устройства в компьютере. Ассоциация: Файл подкачки.
  • Key (RID) lookup  - указывает на поиск по ключу, за ним обычно следует Nested loops. Таким образом данные собираются из разных мест. Как правило, эту пару операторов можно улучшить, используя покрывающий индекс. Ассоциация: поиск по ключу.
  • Filter сравнить количество строк на входе/выходе оператора. Если выход меньше на порядок - неоптимальность. Почему бы не отобрать данные раньше? Ассоциация: Поменять фильтр.
  • Nested loops – неоптимален, если выполняется много раз (с большим количеством строк). Более привлекательным являются операторы соединения таблиц Merge Join и Hash Join. Лучшее – враг хорошего. Ассоциация: соединение таблиц в цикле
  • Table (clustered index) scan, Index seek с предикатом where по низкоселективному условию. Способ доступа scan блокирует всю таблицу (индекс), если запрос применяет блокировку. Условие where нужно проверять на эффективность. Ассоциация: пробежать все страницы данных.

В результате получим ассоциативное стихотворение:

На экзамен чтоб добраться

Нужно сильно постараться

Пресс до кубиков качать,

Ключ от яхты потерять,

Фильтр в машине поменять,

Мотоцикл догонять,

По ступенькам пробежать.

Если Вы представите себя качком на яхте, машина, мотоцикл и как поднимаетесь по лестнице к экзамену – то вспомните все признаки неоптимального плана ))

Дисклаймер: шпаргалка не заменит полноценной подготовки, по ней нельзя изучать операторы плана запросов.

Буду благодарен за положительные отзывы, за конструктивную критику – благодарен вдвойне.

Я знаю, что я ничего не знаю.

38

См. также

Комментарии
Сортировка: Древо
1. harvester_sorrow 6 21.04.18 17:15 Сейчас в теме
Коллеге перешлю,как раз экзамен во вторник у него)
9. vasilev2015 662 23.04.18 08:53 Сейчас в теме
(1) расскажите, если пригодится ))
2. user962133 21.04.18 17:33 Сейчас в теме
Ух ты, как раз во время, спасибо!
3. МихаилМ 21.04.18 18:02 Сейчас в теме
1с8 не поддерживает покрывающие индексы. и морозов и бурмистров избегают разговоры про нештатные оптимизации
4. vasilev2015 662 21.04.18 18:35 Сейчас в теме
(3) Покрывающим (для данного запроса), называется индекс в котором есть все необходимые поля для этого запроса. Источник: http://www.gilev.ru/index/

Покрывающие индексы могут повысить производительность запросов, так как данные, необходимые для удовлетворения требований запроса, присутствуют в самом индексе. Источник https://msdn.microsoft.com/ru-ru/library/jj835095(v=sql.120).aspx

Кластерный индекс таблицы содержит все поля таблицы и является покрывающим для любого запроса.

Вы наверное, имели ввиду одно, но написали другое ?
5. МихаилМ 21.04.18 21:46 Сейчас в теме
(4) да . терминология запутана. я говорил о индексах с включенными

полями. а просто некластерные индексы с дополнительными ключевыми полями создаст излишнюю нагрузку при записи. сомнительная оптимизация.
6. vasilev2015 662 21.04.18 22:19 Сейчас в теме
10. Andrefan 25.04.18 10:14 Сейчас в теме
Отличный подход, спасибо.
Просим другие шпаргалки с ассоциациями (или без них) !!!!
13. vasilev2015 662 25.04.18 10:24 Сейчас в теме
(10) сам тоже собираюсь на экзамен ))
11. Andrefan 25.04.18 10:21 Сейчас в теме
Информация с ИТС тоже крайне полезна, спасибо. Подскажите, вы просто глазами это всё находили или делали какие-то фильтры?
12. vasilev2015 662 25.04.18 10:23 Сейчас в теме
(11) это даже не ИТС, это файл из каталога установки. Открыл в Word, искал интересующие меня слова: транзакция, блокировка, экскалация...
Оставьте свое сообщение