[ТЕМА ЗАКРЫТА]
Опции темы
07.07.2006 09:27
 
Так сложилось, что в базе данных достаточно много дисконтных карт (около 200 000). УКМ4 достаточно долго осуществляет поиск дисконтных карт. Может кто-то сталкивался с подобной проблемой? Какие пути решения вы можете предложить?
10.07.2006 11:46
 
Конфигурация кассы 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
 
А если optimize table сделать?
10.07.2006 12:13
 
Не помогает. Делали. Карт около 200000. Пробовали и с 64Mb памяти. Скорость та же.
10.07.2006 12:26
 
Проц или винт кладется? Извиняюсь, нет у меня базы УКМки под рукой, чтобы погонять.
10.07.2006 12:28
 
Винт. Просто там всегда идет полное сканирование таблицы. Из-за второго условия в запросе. И индекс никак не используется при этом.
10.07.2006 12:47
 
А такой запрос работает? Быстрее/медленнее?
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
 
В 2 раза быстрее. правда 15 секунд - это тоже много...
10.07.2006 13:16
 
order by влияет? или только замена на instr такой эффект дает?
10.07.2006 13:20
 
И то, и другое, причем где-то 50/50.


Опции темы



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

Все в прочитанное - Донат - RSS - - Карта - Вверх

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