Блог Монашёва Михаила
Без бэкапа по жизни.
Привет, Гость
  Войти…
Регистрация
  Сообщества
Опросы
Тесты
  Фоторедактор
Интересы
Поиск пользователей
  Дуэли
Аватары
Гороскоп
  Кто, Где, Когда
Игры
В онлайне
  Позитивки
Online game О!
  Случайный дневник
MindMix
Ещё…↓вниз
Отключить дизайн


Зарегистрироваться

Логин:
Пароль:
   

Забыли пароль?


 
yes
Займи своё имя.mindmix.ru, пока оно свободно

Блог Монашёва Михаила > Работа с большими таблицами.  1 июля 2009 г. 22:04:52


Работа с большими таблицами.

Михаил 1 июля 2009 г. 22:04:52
Сколько не делили мы нашу базу beon.ru на маленькие кусочки, а всё равно они остаются достаточно большими для полного сканирования в MySQL. Сейчас основные таблицы поделены на 400 частей каждая. Тип они имеют MyISAM (да, да, знаю, но нам оно больше нравится, ибо меньше размером). Так вот понадобилось на днях сделать запрос:

UPDATE `topics_123` SET type='deleted' WHERE `description` LIKE '%плохое_слово%';

и всё затормозилось, ибо запрос бежал кучу времени.

Разбивать на ещё большее количество кусочков не хотелось, ибо долго. Зато пришла мысль как быстро решить проблему. Вместо одного запроса надо использовать 100:

UPDATE `topics_123` SET type='deleted' WHERE MOD(id,100)=0 AND `description` LIKE '%плохое_слово%';
UPDATE `topics_123` SET type='deleted' WHERE MOD(id,100)=1 AND `description` LIKE '%плохое_слово%';
...
UPDATE `topics_123` SET type='deleted' WHERE MOD(id,100)=99 AND `description` LIKE '%плохое_слово%';

P.S.
Когда мы допишем свой mapreduce, то естественно поручим ему эту задачу. Для того он писался, чтобы спам удалять. А пока приходится обходиться без него старыми дедовскими способами.

Категории: Мысли, Оптимизация, Офис, Beon, MySQL
Прoкoммeнтировaть
Обратите внимание на:
Идеальная таблица БД 29 июля 2009 г. Михаил
Таблица вампиров... 16 августа 2011 г. Bella.EMO.Girl
Английский язык 10 марта 2013 г. AnnaAnnaAna
Михаил 19 июля 2009 г. 19:24:59 постоянная ссылка ]
Сфинкса можно натравить, но он вроде не умеет мачить по регэкспам. Или я отстал от жизни?

Кроме того MapReduce хоть и слоном по рогатке, но зато позволяет кучу все сопутствующего считать. Например сейчас все дневниковые записи Беона перелопачиваются за 30 минут. Причём можно это время сократить минут до 10 наверное. И с каждой записью можено кучу анализа делать, что сфинкс не умеет. Например выделить из текста ссылки и поискать домен ссылки в заблэклищенных доменах, текст побить на шинглы и понять насколько сильно текст состоит из разнообразных слов, а не мешанина из 20-30 слов переставленных случайно, ну и т.д.
Прoкoммeнтировaть
 

Дoбавить нoвый кoммeнтарий

Как:

Пожалуйста, относитесь к собеседникам уважительно, не используйте нецензурные слова, не злоупотребляйте заглавными буквами, не публикуйте рекламу и объявления о купле/продаже, а также материалы, нарушающие сетевой этикет или законы РФ. Ваш ip-адрес записывается.


Блог Монашёва Михаила > Работа с большими таблицами.  1 июля 2009 г. 22:04:52

читай на форуме:
я вас люблю ^___________^и мы тебя ...
как то не заметно это заметно мы с ...
Чозафиг?:-(
пройди тесты:
почему сердцу не прикажешь?12
Любят ли люди с тобой общаться?
Экзотическое приключение с братьями...
читай в дневниках:

  Copyright © 2001—2018 MindMix
Авторами текстов, изображений и видео, размещённых на этой странице, являются пользователи сайта.
Задать вопрос.
Написать об ошибке.
Оставить предложения и комментарии.
Помощь в пополнении позитивок.
Сообщить о неприличных изображениях.
Информация для родителей.
Пишите нам на e-mail.
Разместить Рекламу.
If you would like to report an abuse of our service, such as a spam message, please contact us.
Если Вы хотите пожаловаться на содержимое этой страницы, пожалуйста, напишите нам.

↑вверх