ГлавнаяРегистрацияВходВ закладки
Автор: admin  Раздел: MySQL
Желалось бы поделиться экспериментом по применению MySQL с сбережением этих в памяти, но не на диске. Сие дозволило нам сжать load average сервера, какой благодаря операций с диском стал сильно вырастать.
В некоем плане мы употребляем MySQL с движком MyISAM под Debian Lenny. Всеобщие данные загружаются в оперативку беса на С++, а пользовательские исходные всего один раз заниматся при логине и переодически хранятся на протяжении работы юзера. Вдобавок сохраняются при логауте (или по таймауту). По причине описаной схемы select-ов очень менее, нежели update-ов (select: 24%, delete: 4%, update: 61%, insert: 11.
В принципе эта неувязка — не админская, а обусловлена не вовсе успешным подбором прибора. Очень вероятно, нам бы подошел InnoDB, который употребляет row-level locking (блокировка по записям), а не table-level locking (блокировка всей таблицы при записи) как около MyISAM. Впрочем размер данных записываемых на диск сие едвали сжало бы. Если посмотреть с другой стороны, нам SQL особе ...
Читать дальше »
Просмотров: 3153
Дата: 2011-09-04 00:00:42
Комментариев: 0
Автор: admin  Раздел: MySQL
Числится так — имеется задачка жигануть исходные из таблицы mysql в простейший csv файлик, чтобы его раскрыть быстренько в excel. Для чего белоснежным людям требуется подобная мистика — ми ни в какое время недослышать, однако раз клиент просил, то я делал. Значит так, отзываемся в администрация рента и строчим:
mysqldump -u [USER_NAME] -p "--where=[WHERE]" "--fields-terminated-by=," "--tab=./" [DB_NAME] [TABLE] > [TABLE].txt
p.s. директория в какой проделывается данная бригада обязана быть раскрыта для записи, или же оно браниться станет. ...
Читать дальше »
Просмотров: 2748
Дата: 2011-09-04 00:00:16
Комментариев: 0
Автор: admin  Раздел: MySQL
Фактически, сейчас был запощен топик "
", в каком указывалось, что MongoDB превосходит по производительности MySQL в разы. Хех, когда подобное пишут — я сходу лезу испытывать и колебаться. Я полез в исходники необычного теста (благодарю за публикацию). И как оказывается создатель оригинального топика ошибся в 3 знака и в самом деле не все так:
В оригинале: MongoDB быстрее MySQL строчит в 1.пятого раза (Правда, хотя около меня в три раза)
В оригинале: MongoDB быстрее MySQL читает в 10 раз (Недостает, на самом деле — MongoDB приблизительно на равновеликих плюс-минус 10-30
Сопоставление тут выходит лишь как key-value сторидж (запись-чтение по primary key).
На графике — количество операций в секунду, (более — наилучше), шкала счетная.
Заключительная строчка — то, что испытывал автор оригинального топика (неверное, не в рецензенту — все мы заблуждаемся и обучимся).
Но теперь подробнее о ошибке...
Значит так, опечатка оригинала была в этом он поделал SELECT так:
test.find({'_id':ran ...
Читать дальше »
Просмотров: 2937
Дата: 2011-09-03 23:54:23
Комментариев: 0
Автор: admin  Раздел: MySQL
Оптимизация явно не является коньком MySQL сервера. Цель отправной статьи объяснить разработчикам, какой-никакие плотно не сидятся с базами данных и иногда не разумеют, по какой-никакой первопричине запрос, какой-никакой хорошо отрабатывает в другых СУБД, в MySQL богопротивно остаст, как оптимизируется конструкция between в MySQL.
MySQL применяет rule based оптимизатор. Зачатки cost based оптимизации в нем конечно ищутся, хотя не в соответствующей мерке, в какой их желалось бы видеть. По исходной первопричине достаточно часто мощь получаемых после применения фильтров множеств вычисляются ложно. Это приводит к оплошностям оптимизатора и выбору неверного плана выполнения. При ежели полученные between оптимизации невозможно преобразить приоткрытым указанием: индексов для исполнения запроса и распорядка соединения таблиц.
Для начала оглядим баг: Чтобы изучить суть бага сформируем опытный набор этих в габарите 125 миллионов записей.
drop table if exists pivot;
drop table if exists big_t ...
Читать дальше »
Просмотров: 2978
Дата: 2011-09-03 23:48:31
Комментариев: 0
Автор: admin  Раздел: MySQL
На так давно довелось осуществить махинацию с БД какая, как представляется как может показаться, асбсолютно невозможна средствами MySQL. Вблизи около меня была матрица продуктов, сортировка каких исполняется добавочным столбцом `order_num` ('последовательный номер'): она дает возможность высокомерничать прирученную сортировку продуктов.
Однако вот понадобилось автоматом уписать данный столбец так, дабы продукты очутились отсортированы по наименованию: т. е., с вблизи ограничений, видоизменить столбец `order_num` в всей таблице. Весьма желалось встать средствами MySQL в отсутствие привлечения каких-нибудь добавочных приборов, и задачка была решена
Сложность задачки вдобавок в этом MySQL не может сделать UPDATE таблицы и в одно время декламировать из ее: в MyISAM таблица эксклюзивно объединяется при записи и недостает способности изготовить чтение в подзапросе.
,
,
,
* This source code was highlighted with .
Сначало товары отсортированы дьявол знает как. Необходимо просортировать ...
Читать дальше »
Просмотров: 2668
Дата: 2011-09-03 23:40:51
Комментариев: 0
Автор: admin  Раздел: MySQL
Привет!
Полнотекстовый поиск данных в InnoDB – это известная головная боль многих разработчиков под MySQL / InnoDB. Для тех, кто не в курсе дела я объясню. В типе таблиц MyISAM есть полноценный полнотекстовый поиск данных, однако сама таблица исторически имеет ограничения, которые являются принципиальными в отдельных проектах. В более «продвинутом» типе таблиц InnoDB полнотекстового поиска нет. Вот и приходится мириться бедным разработчикам либо с ограничениями MyISAM, либо с отсутствием поиска в InnoDB. Я хочу рассказать о том, какие есть способы организовать полноценный поиск в InnoDB без магии и исключительно штатными средствами. Также будет интересно сравнить скоростные характеристики каждого способа.
Для примера возьмем небольшую таблицу с 10000 записями.

В этой таблице мы храним данные пользователей сайта. На самом сайте есть форма поиска пользователей, в которую можно ввести произвольный запрос вида «Толстой Ясная Поляна». Для обработки такого запроса поиск должен осуществл ...
Читать дальше »
Просмотров: 2832
Дата: 2011-09-03 23:32:38
Комментариев: 0
Автор: admin  Раздел: MySQL
Мы употребляем MySQL для сохранения других этих . Наша база данных вырастает совместно с числом юзеров. Теперь около нас больше 250 миллионов записей, сие записи пользователей (post'ы), комменты, балла («likes»)
В течении всего времени как росла информационная база, мы время от времени сталкивались с неувязками масштабируемости. Мы улаживали проблемки типовыми маршрутами: slave-сервера, применяемые лишь для чтения, memcache для увеличения пропускной таланты чтения и секционирование для роста пропускной способности записи. Хотя, по мере роста, израсходованные способы масштабируемости дали почву затруднению прибавлению новоиспеченной функциональности.
А именно, модифицирование схемы базы данных либо прибавление индексов к имеющийся 10-20 миллионов записей приносили к целой блокировке сервера на немного часов. Устранение престарелых индексов спрашивало времени, но не устранение било по производительности, поскольку база данных возобновляла употреблять их на любом INSERT. Есть сложноваты ...
Читать дальше »
Просмотров: 2575
Дата: 2011-09-03 23:29:25
Комментариев: 0
 Страницы: 1 2 3