Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Блокирование БД / 10 сообщений из 10, страница 1 из 1
23.08.2005, 11:27:36
    #33229497
artgonch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокирование БД
Доброе утро всем.
Есть у меня два модуля: администраторский и пользовательский. В задачи первого входит единовременная загрузка и выгрузка больших объемов данных. Как мне заблокировать БД (или все таюлицы, в нее входящие), чтобы у пользовательского модуля не было возможности даже читать данные из таблиц. Используюи таблицы MyISAM.
Заранее спасибо.
...
Рейтинг: 0 / 0
23.08.2005, 15:11:43
    #33230196
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокирование БД
Использовали бы вы лучше InnoDB, для такой деятельности он подходит больше.
И почитайте документацию про блокировки.
...
Рейтинг: 0 / 0
23.08.2005, 19:27:07
    #33230754
artgonch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокирование БД
А зачем InnoDB? Мне транзации не нужны. Данные загружаются достаточно редко большими кусками. Пользовательский модуль эиспользует только select. Придется, конечно, читать документацию, если так подсказать трудно...
...
Рейтинг: 0 / 0
23.08.2005, 19:41:11
    #33230763
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокирование БД
Что значит "подсказать"?
А InnoDB нужно использовать для того, чтобы не надо было блокировать таблицы целиком.
...
Рейтинг: 0 / 0
24.08.2005, 16:35:50
    #33232290
artgonch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокирование БД
DocAlЧто значит "подсказать"?
А InnoDB нужно использовать для того, чтобы не надо было блокировать таблицы целиком.

Так у меня как раз задача до боли простая: нужно на некоторое время заблокировать таблицу. Т.е. организовать к ней монопольный доступ
...
Рейтинг: 0 / 0
24.08.2005, 17:00:25
    #33232386
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокирование БД
Да на здоровье:
http://dev.mysql.com/doc/mysql/en/lock-tables.html
Каждый сам кузнец своих граблей...
...
Рейтинг: 0 / 0
25.08.2005, 13:06:36
    #33233978
Валентин К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокирование БД
Чето вообще проблему не понял.
Когда данные выгружаются - зачем блокировать базу данных??? что это за бред?

Если наоборот загружаются - таблица, в которую загружается блокируется на все, и на запись и на чтение.
...
Рейтинг: 0 / 0
25.08.2005, 14:34:18
    #33234244
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокирование БД
Если данные выгружаются надо блокировать базу для обеспечения целостности данных.
Конечно, можно обойтись без блокировки, используя версионник типа InnoDB, но некоторые люди не ищут простых путей.)
...
Рейтинг: 0 / 0
29.08.2005, 11:59:36
    #33238466
Валентин К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокирование БД
DocAlЕсли данные выгружаются надо блокировать базу для обеспечения целостности данных.
Конечно, можно обойтись без блокировки, используя версионник типа InnoDB, но некоторые люди не ищут простых путей.)

Для MyISAM поддерживается атомарность операций с данными, т.е. если будет выполнятся многострочное обновление, удаление, вставка, то либо будут выполнены над всеми строками, либо не будут выполнены не над одной. Так прямым текстом написано в мануале.
При выгрузке данных в основном достаточно жестко удерживаются ключи и удалить данные нельзя к примеру. Для красоты можно лочить таблицу, но на практике обычно это не нужно, т.к. кусок строки никогда не попадет в выгрузку.
...
Рейтинг: 0 / 0
29.08.2005, 23:43:40
    #33239957
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокирование БД
Проблема-то в том, что поддержание ссылочной целостности ложится целиком на клиента, и очень нередок тот случай, когда, сначала в одну таблицу заносится некоторая запись, потом оттуда берётся её id, проводятся какие-то манипуляции на клиенте, и лишь потом какая-то информация заносится в другие таблицы. Тут уж никакая атомарность не спасёт. Я не говорю, что этот подход верен, но он, увы, достаточно распространён, чтобы нельзя было его не учитывать.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Блокирование БД / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]