Свежие блоги участников нашего сообщества

Каждый участник нашей социальной сети может легко завести собственный блог и публиковать в него тематические заметки по программированию, администрированию база данных, написанию эффективного кода, а также на любые другие темы. Все в Ваших руках! ...и голове.

Проектирование программного обеспечения: удобство сопровождения

Проектирование программного обеспечения: удобство сопровожде…


Широко известно, что стоимость программного обеспе…

Percona TPCC-MySQL: оценка производительности базы данных

Percona TPCC-MySQL: оценка производительности базы данных


В предыдущих публикациях мы уже рассказали как оце…

dbt2 TPC-C: оценка производительности MySQL на примере

dbt2 TPC-C: оценка производительности MySQL на примере


В предыдущих публикациях мы уже рассказали как оце…

Sysbench: оценка производительности MySQL на примере

Sysbench: оценка производительности MySQL на примере


С помощью инструмента sysbench можно запускать раз…

MySQL Benchmark Suite: тест производительности MySQL на примере

MySQL Benchmark Suite: тест производительности MySQL на прим…


В предыдущей статье мы рассмотрели утилиту http_lo…

http_load: тестирование производительности MySQL на примере

http_load: тестирование производительности MySQL на примере


В предыдущей статье мы изучили конкретные утилиты …

 


Новинки в книжной библиотеке

Подсказка дня

Термин курсор (cursor) является одним из неопределенных и многозначных терминов в мире Oracle.

В программах конечных пользователей термин «курсор» часто используется для обозначения результирующего набора данных – фактически это немного больше, чем индекс в массиве, на который ссылается «выполняемая» версия инструкции, хранящаяся в библиотечном кэше, и связывает некоторые локальные (в программе конечного пользователя) данные с удаленной (в библиотечном кэше) информацией.

Внутри экземпляра Oracle данный термин имеет две (или даже три) наиболее общих интерпретации. Первое толкование подразумевает (переходные) данные – информация о состоянии, подмножество результатов и так далее – хранящиеся в памяти сеанса, выполняющего инструкцию. Второе толкование подразумевает выполняемую версию инструкции SQL, хранящуюся в библиотечном кэше.

Третье толкование появилось потому, что для единственной инструкции может быть создано несколько планов выполнения (вместе с деталями рабочего окружения), сгруппированных по общим чертам в библиотечном кэше – как следствие мы часто слышим такие фразы, как родительский курсор (parent cursor, общие черты) и дочерние курсоры (child cursors, конкретные планы выполнения).

Обратите также внимание, что план выполнения (execution plan) является частью дочернего курсора и может являться частью сразу нескольких дочерних курсоров, имеющих идентичные планы выполнения. Такие дочерние курсоры могут отличаться окружением или разрешением имен – тот факт, что планы выполнения могут совпадать, следует воспринимать как случайное стечение обстоятельств.