Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с большим объемом данных, как лучше быть? 
:(
    Опции темы
proger
Дата 6.12.2011, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 400
Регистрация: 10.10.2004

Репутация: нет
Всего: 1



Здравствуйте, я работаю с большим количеством данных из базы mysql для построения отчетов. По опыту заметил, что щапросами получать данные для отчета медленее, чем взять нужные данные, записать в массив и потом их обрабатывать.
Запросы все оптимизированные. А нет ли лучшего способа чем считывать все в массив а потом проводить вычисления?
PM MAIL   Вверх
Nigel
Дата 6.12.2011, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


познаю мир
**


Профиль
Группа: Участник
Сообщений: 515
Регистрация: 20.11.2007

Репутация: нет
Всего: 19



Иногда лучше воспользоваться серверным языком для обработки данных, чем бд. Запросы к базе по своей сути должны быть  простыми, чтобы они выполнялись быстро. Поэтому имеет смысл посмотреть в сторону создания
дополнительных таблиц для агрегирования данных.
PM MAIL   Вверх
WolfAlone
Дата 6.12.2011, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В экстазе
***


Профиль
Группа: Завсегдатай
Сообщений: 1010
Регистрация: 16.9.2008
Где: Рай

Репутация: нет
Всего: 5



Есть ещё 1 вариант, который можно попробовать, как мне кажется. Есть так называемые "NoSQL DB", возможно, стоит попробовать такую БД. Одна из таких БД: http://ru.wikipedia.org/wiki/MongoDB . Не могу сказать точно, так как я не специалист по "Не реляционным БД", но многие сходятся во мнении, что такие БД несколько производительнее MySQL в некоторых случаях. Возможно, Ваш случай, как раз 1 из таких.

Так же, можно попробовать РСУБД отличную отличную от MySQL например, Firebird или PostgreSQL. Ещё можно попробовать оптимизировать не только запросы к MySQL но и сам MySQL.

Прошу заметить, что описанные выше действия, лишь теория (моя). Возможно, в Вашем конкретном случае прироста производительности не будет...

Более детальные рекомендации, я смогу Вам дать, если Вы уточните, о каком объёме данных идёт речь, что Вы с ними делаете, откуда они загружаются, пример запроса и пр. подробности.


--------------------
И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!"

Ф топку Ubuntu, Debian наше фсё!

(с) Евгений Вольф
PM MAIL WWW ICQ Skype   Вверх
proger
Дата 7.12.2011, 07:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 400
Регистрация: 10.10.2004

Репутация: нет
Всего: 1



Всем огромное спасибо!
PM MAIL   Вверх
deperoff
Дата 10.12.2011, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 10.12.2011

Репутация: нет
Всего: нет



Как вариант-ещё есть мемкэш.
PM MAIL   Вверх
vfz4z
Дата 22.12.2011, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 3.6.2010

Репутация: нет
Всего: нет



да, мемкэш реально помогает при больших нагрузках, когда оптимизировать уже нечего)
PM MAIL   Вверх
MuToGeN
Дата 10.1.2012, 03:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 4
Всего: 32



Многие, кстати, нынче пользуют ту же mongo вместо мемкеша, тупо как хранилище всей фигни в виде ключ-значение.
MongoDB поможет в том случае, если выборка идет по одной коллекции (наиболее близкое по смыслу понятие к "таблице" в РСУБД). Никаких JOIN-ов там не будет, всё это придется делать вручную. А так, в целом - отличная вещь для обработки больших объемов информации. С Firebird не пересекался, но вот постгрес однозначно медленнее мускуля на больших объемах данных.
А по части непосредственно мускуля мне в своё время пригодилось вот это: http://dev.mysql.com/doc/refman/5.1/en/opt...the-server.html


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
skyboy
Дата 11.1.2012, 11:28 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 1
Всего: 260



для ускорения и упрощения агрегирования информации есть такой механизм, как OLAP. некоторые СУБД его реализуют(например, MS SQL или  Oracle)
вдогонку, кое-что нашел для mysql
PM MAIL   Вверх
Agnosticus
Дата 2.3.2012, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 2.3.2012
Где: Москва

Репутация: нет
Всего: нет



В отличие от MongoDB, мемкеш все в ОЗУ хранит, поэтому скорость отдачи максимальная
PM MAIL WWW   Вверх
Stark
Дата 2.3.2012, 14:11 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 18.2.2008

Репутация: нет
Всего: 1



большой объм даних это сколько?

можно примери структури таблиц и типы запросов? тогда может будут более конкретные советы.
PM MAIL   Вверх
krundetz
Дата 2.3.2012, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 1
Всего: 69



Цитата(proger @  6.12.2011,  08:42 Найти цитируемый пост)
Запросы все оптимизированные.

а таблицы?


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.1237 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.