[ТЕМА ЗАКРЫТА]
Опции темы
07.07.2006 09:27  
Mtirt
Так сложилось, что в базе данных достаточно много дисконтных карт (около 200 000). УКМ4 достаточно долго осуществляет поиск дисконтных карт. Может кто-то сталкивался с подобной проблемой? Какие пути решения вы можете предложить?
 
10.07.2006 11:46  
junior
Конфигурация кассы p166/32mb/20Gb

SELECT card_type, name, receipt_amount, classif, modificator FROM disc_std2perscard WHERE (card_code = '365001734' and type = 0) OR ('365001734' like concat(card_code, '%') and type = 1) order by type, card_code desc;

Время выполнения 29-35 секунд.
 
10.07.2006 12:10  
OlegON
А если optimize table сделать?
 
10.07.2006 12:13  
Mtirt
Не помогает. Делали. Карт около 200000. Пробовали и с 64Mb памяти. Скорость та же.
 
10.07.2006 12:26  
OlegON
Проц или винт кладется? Извиняюсь, нет у меня базы УКМки под рукой, чтобы погонять.
 
10.07.2006 12:28  
Mtirt
Винт. Просто там всегда идет полное сканирование таблицы. Из-за второго условия в запросе. И индекс никак не используется при этом.
 
10.07.2006 12:47  
OlegON
А такой запрос работает? Быстрее/медленнее?
SELECT card_type, name, receipt_amount, classif, modificator
FROM disc_std2perscard
WHERE
(card_code = '365001734' and type = 0)
OR ((instr(card_code, '365001734')=1) and type = 1);
 
10.07.2006 13:10  
Mtirt
В 2 раза быстрее. правда 15 секунд - это тоже много...
 
10.07.2006 13:16  
OlegON
order by влияет? или только замена на instr такой эффект дает?
 
10.07.2006 13:20  
Mtirt
И то, и другое, причем где-то 50/50.
 
 


Опции темы



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

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.