|
|
|
Блокирование БД
|
|||
|---|---|---|---|
|
#18+
Доброе утро всем. Есть у меня два модуля: администраторский и пользовательский. В задачи первого входит единовременная загрузка и выгрузка больших объемов данных. Как мне заблокировать БД (или все таюлицы, в нее входящие), чтобы у пользовательского модуля не было возможности даже читать данные из таблиц. Используюи таблицы MyISAM. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2005, 11:27:36 |
|
||
|
Блокирование БД
|
|||
|---|---|---|---|
|
#18+
Использовали бы вы лучше InnoDB, для такой деятельности он подходит больше. И почитайте документацию про блокировки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2005, 15:11:43 |
|
||
|
Блокирование БД
|
|||
|---|---|---|---|
|
#18+
А зачем InnoDB? Мне транзации не нужны. Данные загружаются достаточно редко большими кусками. Пользовательский модуль эиспользует только select. Придется, конечно, читать документацию, если так подсказать трудно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2005, 19:27:07 |
|
||
|
Блокирование БД
|
|||
|---|---|---|---|
|
#18+
Что значит "подсказать"? А InnoDB нужно использовать для того, чтобы не надо было блокировать таблицы целиком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2005, 19:41:11 |
|
||
|
Блокирование БД
|
|||
|---|---|---|---|
|
#18+
DocAlЧто значит "подсказать"? А InnoDB нужно использовать для того, чтобы не надо было блокировать таблицы целиком. Так у меня как раз задача до боли простая: нужно на некоторое время заблокировать таблицу. Т.е. организовать к ней монопольный доступ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 16:35:50 |
|
||
|
Блокирование БД
|
|||
|---|---|---|---|
|
#18+
Да на здоровье: http://dev.mysql.com/doc/mysql/en/lock-tables.html Каждый сам кузнец своих граблей... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 17:00:25 |
|
||
|
Блокирование БД
|
|||
|---|---|---|---|
|
#18+
Чето вообще проблему не понял. Когда данные выгружаются - зачем блокировать базу данных??? что это за бред? Если наоборот загружаются - таблица, в которую загружается блокируется на все, и на запись и на чтение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2005, 13:06:36 |
|
||
|
Блокирование БД
|
|||
|---|---|---|---|
|
#18+
Если данные выгружаются надо блокировать базу для обеспечения целостности данных. Конечно, можно обойтись без блокировки, используя версионник типа InnoDB, но некоторые люди не ищут простых путей.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2005, 14:34:18 |
|
||
|
Блокирование БД
|
|||
|---|---|---|---|
|
#18+
DocAlЕсли данные выгружаются надо блокировать базу для обеспечения целостности данных. Конечно, можно обойтись без блокировки, используя версионник типа InnoDB, но некоторые люди не ищут простых путей.) Для MyISAM поддерживается атомарность операций с данными, т.е. если будет выполнятся многострочное обновление, удаление, вставка, то либо будут выполнены над всеми строками, либо не будут выполнены не над одной. Так прямым текстом написано в мануале. При выгрузке данных в основном достаточно жестко удерживаются ключи и удалить данные нельзя к примеру. Для красоты можно лочить таблицу, но на практике обычно это не нужно, т.к. кусок строки никогда не попадет в выгрузку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2005, 11:59:36 |
|
||
|
Блокирование БД
|
|||
|---|---|---|---|
|
#18+
Проблема-то в том, что поддержание ссылочной целостности ложится целиком на клиента, и очень нередок тот случай, когда, сначала в одну таблицу заносится некоторая запись, потом оттуда берётся её id, проводятся какие-то манипуляции на клиенте, и лишь потом какая-то информация заносится в другие таблицы. Тут уж никакая атомарность не спасёт. Я не говорю, что этот подход верен, но он, увы, достаточно распространён, чтобы нельзя было его не учитывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2005, 23:43:40 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=650&tid=1853728]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 240ms |
| total: | 414ms |

| 0 / 0 |
