Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.09.2008, 13:00
LDV LDV вне форума
Прохожий
 
Регистрация: 03.05.2008
Сообщения: 14
Репутация: 10
По умолчанию Оптимизация

Какой из вариантов поиска будет быстрее? Дайте советов по оптимизации.
PHP код:
function Tdatamodule_Connection.FindById(ItemIdInteger): Integer;
begin
  Result 
:= -1;
  if 
ConnectionStatus csConnected then
    with cmp_Query_ 
do
     try
       
SQL.Text := Format(const_sql_FindById, [ItemId]);
       
Open;
       
Result := FieldByName(const_field_item_id).AsInteger;
       if 
Result 0 then begin
         
if SelectionStatus ssByField then
           CurItemByKey 
:= FCurItemByField;
       
end else
         
CurItemByKey := ItemId;
       
SelectionStatus := ssByKey;
       
SQL.Text := const_sql_AllModels;
     
except
       on E
Exception do
         
LastMsgError := E.Message;
     
end
  
else
    
LastMsgError := const_msg_ErrorConnection;
end

или

PHP код:
function Tdatamodule_Connection.FindById(ItemIdInteger): Integer;
begin
  Result 
:= -1;
  if 
ConnectionStatus csConnected then
    with cmp_Table_ 
do
      try
        
Open;
        
Result := Integer(FindKey([ItemId]) and (FieldByName(const_field_group_id).AsInteger <> 0)
          and (
FieldByName(const_field_flags).AsInteger <> 1));
        if 
Result 0 then begin
          
if SelectionStatus ssByField then
            CurItemByKey 
:= FCurItemByField;
          
end else
            
CurItemByKey := ItemId;
        
SelectionStatus := ssByKey;
      
except
        on E
Exception do
          
LastMsgError := E.Message;
      
end
  
else
    
LastMsgError := const_msg_ErrorConnection;
end
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:42.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025