Mysql Долго выполняется запрос, как ускорить

peon

Lok'tar ogar
До того как сделал индекс на formalname, в базе уже был такой индекс:
ALTER TABLE `d_fias_addrobj` ADD KEY `parentguid` (`parentguid`), ADD KEY `aoguid` (`aoguid`)

А вот схема таблицы
Код:
CREATE TABLE `d_fias_addrobj` (
  `aoid` char(36) NOT NULL COMMENT 'Уникальный идентификатор записи',
  `formalname` varchar(120) NOT NULL COMMENT 'Формализованное наименование',
  `regioncode` varchar(2) NOT NULL COMMENT 'Код региона',
  `autocode` char(1) NOT NULL COMMENT 'Код автономии',
  `areacode` varchar(3) NOT NULL COMMENT 'Код района',
  `citycode` varchar(3) NOT NULL COMMENT 'Код города',
  `ctarcode` varchar(3) NOT NULL COMMENT 'Код внутригородского района',
  `placecode` varchar(3) NOT NULL COMMENT 'Код населенного пункта',
  `streetcode` varchar(4) NOT NULL COMMENT 'Код улицы',
  `extrcode` varchar(4) NOT NULL COMMENT 'Код дополнительного адресообразующего элемента',
  `sextcode` varchar(3) NOT NULL COMMENT 'Код подчиненного дополнительного адресообразующего элемента',
  `offname` varchar(120) NOT NULL COMMENT 'Официальное наименование',
  `postalcode` char(6) NOT NULL COMMENT 'Почтовый индекс',
  `ifnsfl` varchar(4) NOT NULL COMMENT 'Код ИФНС ФЛ',
  `terrifnsfl` varchar(4) NOT NULL COMMENT 'Код территориального участка ИФНС ФЛ',
  `ifnsul` varchar(4) NOT NULL COMMENT 'Код ИФНС ЮЛ',
  `terrifnsul` varchar(4) NOT NULL COMMENT 'Код территориального участка ИФНС ЮЛ',
  `okato` varchar(11) NOT NULL COMMENT 'ОКАТО',
  `oktmo` varchar(8) NOT NULL COMMENT 'ОКТМО',
  `updatedate` date NOT NULL COMMENT 'Дата  внесения записи',
  `shortname` varchar(10) NOT NULL COMMENT 'Краткое наименование типа объекта',
  `aolevel` int(10) unsigned NOT NULL COMMENT 'Уровень адресного объекта ',
  `parentguid` char(36) NOT NULL COMMENT 'Идентификатор объекта родительского объекта',
  `aoguid` varchar(36) NOT NULL COMMENT 'Глобальный уникальный идентификатор адресного объекта',
  `previd` varchar(36) NOT NULL COMMENT 'Идентификатор записи связывания с предыдушей исторической записью',
  `nextid` varchar(36) NOT NULL COMMENT 'Идентификатор записи  связывания с последующей исторической записью',
  `code` varchar(17) NOT NULL COMMENT 'Код адресного объекта одной строкой с признаком актуальности из КЛАДР 4.0',
  `plaincode` varchar(15) NOT NULL COMMENT 'Код адресного объекта из КЛАДР 4.0 одной строкой без признака актуальности (последних двух цифр)',
  `actstatus` tinyint(3) unsigned NOT NULL COMMENT 'Статус актуальности адресного объекта ФИАС. Актуальный адрес на текущую дату. Обычно последняя запись об адресном объекте.',
  `centstatus` int(10) unsigned NOT NULL COMMENT 'Статус центра',
  `operstatus` int(10) unsigned NOT NULL COMMENT 'Статус действия над записью – причина появления записи',
  `currstatus` int(10) unsigned NOT NULL COMMENT 'Статус актуальности КЛАДР 4 (последние две цифры в коде)',
  `startdate` date NOT NULL COMMENT 'Начало действия записи',
  `enddate` date NOT NULL COMMENT 'Окончание действия записи',
  `normdoc` varchar(36) NOT NULL COMMENT 'Внешний ключ на нормативный документ',
  PRIMARY KEY (`aoid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Классификатор адресообразующих элементов'
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Кхм, как мне кажется, руки надо отрывать за такое, в частности за такой PK
 
Сверху