Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
оптимизация таблицы из 18 000 000 записей (lexey2006.90) 19/06/2011 - 09:31:54
      Re: оптимизация таблицы из 18 000 000 записей (Akina) 20/06/2011 - 10:17:21



From: lexey2006.90 - 19/06/2011 - 09:31:54
Subject:оптимизация таблицы из 18 000 000 записей
-----------------
CREATE TABLE IF NOT EXISTS `gate_spo_price` (
`id` bigint(16) NOT NULL AUTO_INCREMENT,
`date_from` date NOT NULL,
`date_to` date NOT NULL,
`country` int(11) NOT NULL,
`city` int(11) NOT NULL,
`hotel` int(11) NOT NULL,
`operator` int(11) NOT NULL,
`star` int(11) NOT NULL,
`room` int(11) NOT NULL,
`pansion` int(11) NOT NULL,
`depature_from` int(11) NOT NULL,
`depature_to` int(11) NOT NULL,
`depature_date` date NOT NULL,
`days` int(11) NOT NULL,
`price` int(11) NOT NULL,
`status` tinyint(4) NOT NULL,
`chld` int(11) NOT NULL,
`age1` int(11) NOT NULL,
`age2` int(11) NOT NULL,
`age3` int(11) NOT NULL,
`age4` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `key1` (`depature_date`),
KEY `key2` (`depature_date`,`price`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=40039143195 ;

Запрос выполняется довольно быстро, но бывают запросы, вешающие выборку, например:
select * from gate_spo_price USE INDEX (seach_sort) where country = '315' AND room = '23' AND depature_date >= '2011-06-27' AND depature_date <= '2011-07-3' AND status=0 AND chld=0 ORDER BY price ASC limit 200;
1. Сделал партицирование по дате (по 5 дней, т.к. можно выбирать промежутки по 5 дней)
2. Пытал всевозможные ключи - та же лажа

запрос со всевозможными полями по которым может идти выборка:
[17.06.2011 19:09:12] леша: select * from gate_spo_price where country = '309' AND city = '313' AND room = '26' AND pansion = '35' AND star = '41' AND days >= '2' AND days <= '20' AND price <= '3333.3333333333' AND depature_date >= '2011-06-20' AND depature_date <= '2011-06-30' AND operator='37410' AND status=0 AND chld=0 ORDER BY price ASC limit 200;

Присылаю дамп таблицы - можно пробовать на ней самой.
ftp://piklya.com/tmp/ файл sumpceudbpeh96cmh8oqrmsum6.7z


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
38611



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |