FoxBase!
msgbartop
Блог Oracle разработчика
msgbarbottom
foxbase

17.06.2010 Кто блокирует запись таблицы Oracle?

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

10.06.2010 Временные таблицы Oracle

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

27.04.2010 Сортировка индексных массивов Oracle PL/SQL

Применение индексных массивов в Oracle PL/SQL нами уже обсуждалось в статьях Индексные массивы в Oracle PL/SQL и PL/SQL и Java. Кто быстрее? 
В этой статье поговорим о различных методах сортировки индексных массивов.  (далее...)

31.03.2010 PL/SQL и Java. Кто быстрее?

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

29.03.2010 Индексные массивы в Oracle PL/SQL

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

17.02.2010 Компрессия LOB (CLOB, BLOB) в Oracle

Часто может возникнуть задача упаковки больших объектов Oracle CLOB, BLOB для их более компактного хранения или для иных целей. При этом может потребоваться считывать упакованные большие объекты CLOB, BLOB в клиентских приложениях на Java. Упаковывать же большие объекты желательно на стороне сервера на PL/SQL.  (далее...)

05.01.2010 Блокировки Oracle при неиндексированных внешних ключах

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

16.11.2009 Генерация случайных чисел в заданном диапазоне

На практике часто требуется генерировать случайные числа в заданном диапазоне. Рассмотрим наиболее естественный способ сделать это на PL/SQL. (далее...)

22.10.2009 Поиск курса валюты

Необходимо написать SQL запрос, который выводит значение курса валюты на заданную дату. Такой вопрос может быть задан на собеседовании при приеме на работу в качестве разработчика баз данных. Вопрос не столь прост, как может показаться. (далее...)

16.10.2009 Отладка кода в Oracle

В этой статье предлагается простой и эффективный способ отладки серверной и клиентской частей приложений Oracle. Способ не претендует на полноту и не призван заменить собой известные способы отладки, однако может быть полезен при отладке бизнес логики приложений. (далее...)

16.10.2009 Пользовательские параметры

При разработке прикладных систем для удобства работы часто требуется запоминать контекст, в котором работал пользователь. Например, пользователь, работая с формой, выбирает некоторые фильтры, которые ограничивают данные этой формы. (далее...)

16.10.2009 Поиск и удаление дубликатов строк

Удаление дубликатов строк в таблице – популярный вопрос на собеседованиях, ответ на который необходимо знать каждому разработчику, несмотря на то, что в правильно спроектированной базе данных такая задача возникать не должна в принципе. Этот популярный вопрос может поставить в тупик даже некоторых опытных разработчиков именно вследствие того, что задача редко возникает в реальных системах. (далее...)