Статья: Оптимизация приложений С++Builder в архитектуре клиент/сервер

14:37:10 SQL Misc: ORACLE - Set rowset size

14:37:10 SQL Stmt: ORACLE - Fetch

14:37:10 SQL Stmt: ORACLE - EOF

14:37:10 SQL Stmt: ORACLE - Close

Отметим, что это еще не самый большой набор запросов для данного случая, так как при обновлении таблицы было использовано значение UpWhereKeyOnly свойства UpdateMode компонента Table1, при котором запросы на обновление одной записи имеют минимальный набор проверяемых параметров.

При использовании кнопки Use SQL log-файл имеет совершенно другой вид:

14:35:51 SQL Prepare: ORACLE - UPDATE HOLDINGS SET PUR_PRICE=PUR_PRICE-10

14:35:51 SQL Transact: ORACLE - Set autocommit on/off

14:35:51 SQL Execute: ORACLE - UPDATE HOLDINGS SET PUR_PRICE=PUR_PRICE-10 14:35:51 SQL Stmt: ORACLE - Close

Остальные SQL-запросы, содержащиеся в log-файле, генерируются BDE при выполнении метода Refresh() компонента Table1:

14:35:51 SQL Prepare: ORACLE - SELECT "ACCT_NBR" ,"SYMBOL" ,"SHARES" ,"PUR_PRICE" ,"PUR_DATE" ,"ROWID" FROM "HOLDINGS" WHERE "ACCT_NBR"=:1

14:35:51 SQL Execute: ORACLE - SELECT "ACCT_NBR" ,"SYMBOL" ,"SHARES" ,"PUR_PRICE" ,"PUR_DATE" ,"ROWID" FROM "HOLDINGS" WHERE "ACCT_NBR"=:1

14:35:51 SQL Misc: ORACLE - Set rowset size

14:35:51 SQL Stmt: ORACLE - Fetch

14:35:51 SQL Stmt: ORACLE - EOF

14:35:51 SQL Stmt: ORACLE - Close

14:35:51 SQL Prepare: ORACLE - SELECT "ACCT_NBR" ,"SYMBOL" ,"SHARES" ,"PUR_PRICE" ,"PUR_DATE" ,"ROWID" FROM "HOLDINGS" WHERE (("ACCT_NBR" IS NULL OR "ACCT_NBR"> :1)) ORDER BY "ACCT_NBR" ASC

14:35:51 SQL Execute: ORACLE - SELECT "ACCT_NBR" ,"SYMBOL" ,"SHARES" ,"PUR_PRICE" ,"PUR_DATE" ,"ROWID" FROM "HOLDINGS" WHERE (("ACCT_NBR" IS NULL OR "ACCT_NBR"> :1)) ORDER BY "ACCT_NBR" ASC

14:35:51 SQL Misc: ORACLE - Set rowset size

14:35:51 SQL Stmt: ORACLE - Fetch

Если из текста обработчика события Button1Click удалить строку

Table1->Refresh();,

то действия с 5-го по 14-е выполняться не будут. Кроме того, при нажатии на эту же кнопку несколько раз подряд log-файл будет иметь следующий вид:

14:11:36 SQL Prepare: ORACLE - UPDATE HOLDINGS SET PUR_PRICE=PUR_PRICE-10

14:11:36 SQL Execute: ORACLE - UPDATE HOLDINGS SET PUR_PRICE=PUR_PRICE-10

14:11:40 SQL Stmt: ORACLE - Reset

14:11:40 SQL Execute: ORACLE - UPDATE HOLDINGS SET PUR_PRICE=PUR_PRICE-10

14:14:17 SQL Stmt: ORACLE - Reset

14:14:17 SQL Execute: ORACLE - UPDATE HOLDINGS SET PUR_PRICE=PUR_PRICE-10

К-во Просмотров: 244
Бесплатно скачать Статья: Оптимизация приложений С++Builder в архитектуре клиент/сервер