Показать сообщение отдельно
Старый 25.04.2006, 11:18   #10  
mugz is offline
mugz
Участник
 
107 / 10 (1) +
Регистрация: 05.08.2004
У меня были случае когда несколько мелких запросов работало быстрее:

1. Baan + BaanBase
BaanBase довольно тупая база данных, поставлявшаяся с Baan IV. На ней что-то сложное работало всегда медленней чем что-то несложное, при этом была большая скорость обмена данных с бааном

2. Baan + Oracle - в таблице было большое количество индексов, и оракл почему-то использовал неправильный. Разбиение на два запроса помогло ораклу разобраться что к чему

Еще есть соображение по поводу кеширования: если есть маленький справочник и большая таблица с данными, то выборка по отдельности теоретически может быть быстрее джоина т.к. справочник может закешироваться и объекм пересылаемых между звеньями данных может уменьшиться.

...
>>>А Вы уверены, что у Вас все данные больше 0? И не надо суммировать данные меньше 0? И подобные данные не появятся в будущем?

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