Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте.
Суть такова: есть несколько таблиц, в которые почти постоянно добавляются данные. Из-за этого выборка из других таблиц (в которые данные НЕ добавляются) сильно замедляется (винч не справляется). Возможно ли разместить таблицы, в которые постоянно добавляются данные, на отдельном винчестере? Повысит ли такое решение скорость выборки данных из других таблиц? Или есть какое-то другое решение?
PS: особых средств на обновление оборудования нет
Просто для информации: Медленно именно из-за винча. Процессор почти не грузится. В таблицах от 500к до 10млн записей, и присутствует по 4 индекса, один из которых полнотекстовый.
Неактивен
Самый простой способ — остановить сервер, перенести нужные таблицы
в соответствующий раздел и поставить символические ссылки на унесенные
файлы.
Если Windows, то всё хуже: в ней есть возможность делать псевдосимволи-
ческие переносы для баз целиком (т.е. таблицу не унесете). В NTFS была
возможность делать символические ссылки, но не знаю, насколько она работо-
способная (впрочем, проверить стоит).
Неактивен
Да, к сожалению, пока Windows.
Попробую разобраться со ссылками. Спасибо.
А будет прирост производительности в данном случае?
Неактивен
Если упираетесь в диски, то да. Возможно, стоит пооптимизировать запросы —
может быть, вы лишний раз ездите по диску, когда этого можно было бы из-
бежать.
Неактивен
В windows server 2008 символические ссылки делать возможно. Отдельно перенести базу на другой диск - получается. А перенести отдельную таблицу- MySql ругается, что не найдена таблица, ссылки почему-то не работают...
Неактивен
К сожалению, тут я никак помочь не смогу: к windows у меня есть лишь ограниченный
доступ, а уж к 2008 нет никакого. Видимо, символические ссылки в Windows работают
как-то не так. Должно соблюдаться простое условие — редактирование файла должно
открывать именно файл с данными, а не файл со ссылкой. Если это не так (проверьте),
то, значит, ссылок в моем понимании так и не сделали
Неактивен
Для редактирования файл открывается, а вот MySQL таблицы, перенесённые по символическим ссылкам видеть не хочет... Возможно, я что-то делаю неверно. Опыта работы с такими ссылками не было до этого.
Пробовал просто командой: mklink ссылка имя_файла
Пришлось отдельную базу использовать. Криво, но как иначе - в голову не приходит.
Неактивен
Давайте оставим тему открытой, может быть, кто-то из держателей Windows
откликнется и расскажет в чем дело
Неактивен
Что характерно в доке mysql варианта именно симлинков на таблицы - нет - http://dev.mysql.com/doc/refman/5.0/en/ … inks.html.
Видимо не поддерживается либо NTFS, либо из-за каких то особенностей реализации в NTFS - не поддерживается самой mysql
Отредактированно Shopen (04.06.2010 18:54:11)
Неактивен
Дока писалась тогда, когда симлинков в NTFS не было даже близко. Для переноса
баз был сделан костылик под Windows, а дальше дело не пошло, т.к. костылики
плодить не нужно. Но почему, если симлинки реализованы прозрачно для ПО, они
не заработали — не понятно.
Неактивен
К сожалению проверить не могу, т.к. символические ссылки (mklink) доступны только с 2008 server, а у меня 2003. Доберусь до висты - попробую там. Но вообще странно, что не работает.
В порядке тычков в небо - а тип таблиц какой? если myisam, то файл table.frm - тоже симлинком сделан?
Неактивен
Да, MyISAM.
Да, тоже ссылкой.
Неактивен