Форум по программному обеспечению и оборудованию > > >

Очень долгая загрузка при большой количестве дисконтных карт в конвертере CSV, DB

03.12.2016 9:57


[ОТВЕТИТЬ]
04.01.2013 21:47  
whitewizard
После того, как не загрузилось в течении часа (у меня в таблице trm_in_disc_std2perscard 1.2М записей), сделал следующее и загрузка прошла за 8 минут
версия 48сп6. В других версиях скрипт создания таблиц возможно будет другой.
:
DROP TABLE `trm_in_disc_std2perscard`;
commit;
CREATE TABLE `trm_in_disc_std2perscard` (
  `nomenclature_id` int(11) NOT NULL DEFAULT '0',
  `discount_type` bigint(20) NOT NULL DEFAULT '0',
  `card_code` varchar(40) NOT NULL DEFAULT '',
  `type` tinyint(1) unsigned NOT NULL DEFAULT '0',
  `card_type` smallint(5) unsigned NOT NULL DEFAULT '0',
  `name` varchar(40) DEFAULT NULL,
  `receipt_amount` decimal(20,4) NOT NULL DEFAULT '0.0000',
  `classif` varchar(40) NOT NULL DEFAULT '0',
  `modificator` varchar(40) NOT NULL DEFAULT '0',
  `version` int(11) NOT NULL DEFAULT '0',
  `deleted` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`nomenclature_id`,`discount_type`,`type`,`card_code`,`receipt_amount`,`classif`),
  KEY `card_code` (`nomenclature_id`,`discount_type`,`card_code`),
  KEY `version` (`nomenclature_id`,`version`,`deleted`),
  KEY `dt_cl_md` (`nomenclature_id`,`discount_type`,`classif`,`modificator`,`deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
commit;
:
DROP TABLE `trm_in_disc_std2perscard_stoplist`;
commit;
CREATE TABLE `trm_in_disc_std2perscard_stoplist` (
  `nomenclature_id` int(11) NOT NULL DEFAULT '0',
  `start` varchar(40) NOT NULL DEFAULT '',
  `stop` varchar(40) NOT NULL DEFAULT '',
  `version` int(11) NOT NULL DEFAULT '0',
  `deleted` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`nomenclature_id`,`start`),
  KEY `version` (`nomenclature_id`,`version`,`deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
commit;
 
05.01.2013 05:56  
Eugin_S
Подскажите, в чем отличие от стандартной таблицы? Я сравнил со структурой таблицы от версии 49.10, вроде отличий не нашел.
 
05.01.2013 06:23  
whitewizard
Значит эти таблички и не менялись
 
05.01.2013 08:44  
OlegON
А статистику собрать не пробовал до этого?
 
05.01.2013 16:06  
whitewizard
неа. проблема и так ясна.
много записей и при обновлении тратится много времени на сравнение.
а так всё записывается с ноля и быстро.
 
05.01.2013 16:44  
student
:
а так всё записывается с ноля и быстро.
это справедливо только если на загрузку всегда идет полный набор записей . . . а вот если это реально частичное обновление, то так можно лишиться части дк. . .
 
05.01.2013 16:47  
whitewizard
разумеется. надо было сделать полную загрузку и быстро.
 
 




- - RSS - - Карта - 👫 Яндекс.Метрика