MySQL: скорость выполнения запросов

MySQL/PostgreSQL/SQLite/Oracle/M$SQL/....

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
lodErunnEr
рядовой
Сообщения: 46
Зарегистрирован: 2006-10-09 19:04:19

Re: MySQL: скорость выполнения запросов

Непрочитанное сообщение lodErunnEr » 2008-06-25 10:32:18

Дык все понятно. Эти данные, которые там лежат - это далеко не весь лог - я его обрабатываю скриптом на перле и кладу только те данные, которые были полученны не из кеша сквида. в принципе не проблема изменить скрипт и класть туда уже сумму по юзерам, тем самым уменьшив базу, или еще как-нибудь исхитриться, короче сделать можно много чего .. а так же можно использовать sarg и обойтись вообще без базы =)
Просто я хотел посмотреть, как ведет себя большая таблица... ну погонять, заодно разобраться поглубже с mysql. т.е. главная цель была не сбор статистики как таковой, а большая жирная таблица.
Как я понял, мой запрос, индексируй не индексируй, проходится по ВСЕМ записям базы в любом случае, поэтому он медленный.
Но всеравно огромное спасибо за участие!

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: MySQL: скорость выполнения запросов

Непрочитанное сообщение zg » 2008-06-25 11:12:03

lodErunnEr писал(а):скрипт и класть туда уже сумму по юзерам, тем самым уменьшив базу
ага, а потом разные отчёты от туда выковыривай
lodErunnEr писал(а):Просто я хотел посмотреть, как ведет себя большая таблица... ну погонять, заодно разобраться поглубже с mysql. т.е. главная цель была не сбор статистики как таковой, а большая жирная таблица.
ну дело твоё ))) разобираться с mysql лучше на мелких таблицах с объёмом от 100 до 1000 записей. Тут самое главное правильно оценивать explain, объём мало имеет значение как таковой. У нас такая база, как у тебя, падала, когда размер таблицы превысил 2Гб и было принято решение переписать биллинг.

В мускуле самое главное - умение извлекать нужную информацию из структурированных данных. Я не стал изменять структуру твоей таблицы, поскольку она изначально сделана неверно, там абсолютно ненужный первичный ключ и некоторые поля нужно менять на int и timestamp. У больших таблиц размер ряда должен быть фиксированным, а у тебя это нереально сделать, поэтому я просто сделал новую табличку.

Если есть большое желание изучить быстродействие на MySQL, то могу немного почь

lodErunnEr
рядовой
Сообщения: 46
Зарегистрирован: 2006-10-09 19:04:19

Re: MySQL: скорость выполнения запросов

Непрочитанное сообщение lodErunnEr » 2008-06-25 13:17:42

там абсолютно ненужный первичный ключ и некоторые поля нужно менять на int и timestamp.
Если не сложно, объясни почему
У больших таблиц размер ряда должен быть фиксированным, а у тебя это нереально сделать
Это тоже.. т.е. что значит "должен быть фиксированным"?
Если есть большое желание изучить быстродействие на MySQL, то могу немного почь
Было бы здорово. =)
Ща читаю руководство, которое ты кинул.. к понедельнику надеюсь управиться .... наверное много вопросов появится

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: MySQL: скорость выполнения запросов

Непрочитанное сообщение zg » 2008-06-25 13:33:27

lodErunnEr писал(а):Было бы здорово. =)
гуд

и так тема твоей будущей статьи Использование индексов для оптимизиации работы с большими таблицами в MySQL 4.1 и выше

содержание:
1. Основные типы столбцов MySQL (int, bigint, smallint, char,varchar, text), описать сколько каждый занимает места в ряду и как его целесообразно применять.

2. Описание типов индексов: первичный индекс, простой индекс, текстовый индекс, полнотекстовый индекс, составной индекс. Тут так же необходимо выделить основные моменты каждого индекса, где и когда они прменяются и в чём их отличия.

3. Использование индексов: описать работу и использование индексов в запросах MySQL, отметить EXPLAIN, и разобрать пару многотабличных запросов

4. Оптимизация запросов для работы с большими таблицами при помощи индексов, временных таблиц и стурктуры таблиц.

Это довольно много, но если вытянешь, то будешь знать MySQL процентов на 10-15 ))) Для работы программером и админом этого за глаза хватит.

Берёшься?

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: MySQL: скорость выполнения запросов

Непрочитанное сообщение zg » 2008-06-25 13:37:11

lodErunnEr писал(а):Если не сложно, объясни почему
потому что он там избыточен, ты им никогда не будешь пользоваться, это таблица-лог, её не нужно править

lodErunnEr
рядовой
Сообщения: 46
Зарегистрирован: 2006-10-09 19:04:19

Re: MySQL: скорость выполнения запросов

Непрочитанное сообщение lodErunnEr » 2008-06-25 13:37:32

ыыы =) берусь =)

lodErunnEr
рядовой
Сообщения: 46
Зарегистрирован: 2006-10-09 19:04:19

Re: MySQL: скорость выполнения запросов

Непрочитанное сообщение lodErunnEr » 2008-06-25 13:38:51

zg писал(а):
lodErunnEr писал(а):Если не сложно, объясни почему
потому что он там избыточен, ты им никогда не будешь пользоваться, это таблица-лог, её не нужно править
хм.. а primary key используется только в insert/update ?

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: MySQL: скорость выполнения запросов

Непрочитанное сообщение zg » 2008-06-25 13:41:11

lodErunnEr писал(а):ыыы =) берусь =)
тогда внимательно прочитай раздел про создание таблиц и выдели типы данных. Опиши сколько каждый тип занимает и для чего используется, отдельно выдели тип int и timestamp. Пока хватит :smile:

Можешь у Лиса зарегится как автор и начинать писать статью
хм.. а primary key используется только в insert/update ?
в основном да, потому что однозначно идентифицирует одно строку, для отчётных данных он бесполезен.

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: MySQL: скорость выполнения запросов

Непрочитанное сообщение dikens3 » 2008-06-25 13:58:13

У меня вот такая книга есть, очень неплохая.
http://www.books.ru/shop/books/396916
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: MySQL: скорость выполнения запросов

Непрочитанное сообщение zg » 2008-06-25 14:03:54

dikens3 писал(а):У меня вот такая книга есть, очень неплохая.
http://www.books.ru/shop/books/396916
тут и мануала вполне хватит :) хотя серия мне эта нравится, много чего интересного пишут, правда, никогда не беру "новичкам", много вопросов остаётся...

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: MySQL: скорость выполнения запросов

Непрочитанное сообщение zg » 2008-06-30 7:13:25

lodErunnEr, прогресс есть?

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: MySQL: скорость выполнения запросов

Непрочитанное сообщение ProFTP » 2008-07-03 16:17:35

может грузить из-за того, что перл скрипт не правильный!! (точно не помню как там, но нужно не просто взять и вставить...)

===================
а если распарсить лог файл (раз в пол сутки, например) и записать потом бд рекурсивно, будет выграш?

но елси не использовать лог файл вообще!! то пропадает нагрузка на винчестер или нет? то есть постоянно идет записть в лог файлы получаетья и этим грузит машину?
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение