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




MySQL.RU - Webboard



Вернуться
Оптимизация запроса для таблицы >700k записей (Олег) 29/10/2009 - 21:01:36
      Re: Оптимизация запроса для таблицы >700k записей (Елена) 30/10/2009 - 13:04:48
      Re: Оптимизация запроса для таблицы >700k записей (Олег) 03/11/2009 - 02:42:12



From: Олег - 29/10/2009 - 21:01:36
Subject:Оптимизация запроса для таблицы >700k записей
-----------------
Версия mysql: 5.0.45

my.ini:
[mysqld]
default-storage-engine=MyISAM
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
max_connections=100
query_cache_size=0
table_cache=256
tmp_table_size=18M
thread_cache_size=8
#*** MyISAM Specific options
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=35M
key_buffer_size=25M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=256K

имеется таблица учета визитов:

create table visit (
uid bigint not null auto_increment,
ip bigint,
pageref bigint,
catref bigint,
modelref bigint,
customref bigint,
visitdate datetime,
osbaseid integer,
browserid integer,
browserversionmin integer,
browserversionmaj varchar(255),
java bit,
javascript bit,
backvisitid bigint,
host varchar(255),
referer varchar(255),
refererbase varchar(255),
mcref bigint,
requri varchar(255),
primary key (uid)
) CHARSET = utf8;


в таблице сейчас находится чуть больше 700тыс. записей

задача:
необходимо выбрать из таблицы данные об уникальных посещениях по разным visit.catref за определенную дату.

запрос:
select count(this_.ip) as HITS, count(distinct this_.ip) as UNIQ, cast(visitdate as date) as VISIT_DATE, this_.catref as REF from visit this_ where cast(visitdate as date)='2009-10-10' and this_.catref is not null group by VISIT_DATE, REF;

выполняется ~1300мс.
и запрос без ограничения по дате (за все даты) выполняется по времени примерно также.

пробовал добавить новую колонку visitday DATE, чтобы избежать наличия cast(.. as date), но это только замедлило запрос.

добавление индексов на visitdate, pageref не помогло.

подскажите как можно оптимизировать данный запрос/таблицу?


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

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

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



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