Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / 2-а запроса / 6 сообщений из 6, страница 1 из 1
04.07.2015, 01:46:50
    #38999468
Snowman8526
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2-а запроса
Добрый день. Моя задача добиться работы с нескольких машин одновременно. Брать строчку из большой базы работать, а потом удалять это увеличит базу из-за индекса + время работы со строкой велико и в это время другая машина может обратится к строке что приведёт к обработке одной строки 2-а раза. Поэтому Я подумал о перемещении нескольких строк в отдельную таблицу, и работа с ними будет проще и индекс будет маленький. Но тут возник вопрос во время выполнения 2-х запросов

(INSERT INTO `test`.`test` SELECT * FROM `test`.`test2` LIMIT 10 ;
DELETE FROM test LIMIT 10;)

Может ли вклиниться другой такой же запрос и скопировать данные до удаления? И как этого избежать.

PS пока писал придумал костыль но не думаю что таким образом городить это хорошо. Можно добавить строку и перед копированием просто изменить её с NOLL на значение, присвоенное машине.
...
Рейтинг: 0 / 0
04.07.2015, 09:28:24
    #38999524
Snowman8526
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2-а запроса
Перефразирую
(INSERT INTO `test`.`test` SELECT * FROM `test`.`test2` LIMIT 10 ;
DELETE FROM test LIMIT 10;)
Мне интересно при выполнении этих команд в одном запросе может ли вклиниться такой же запрос с другой системы? Предположим, что 2-е системы отправили запрос одновременно, тогда произойдёт копирование одинаковых данных и удаление не скопированных. Может ли такое произойти и как этого избежать?
...
Рейтинг: 0 / 0
04.07.2015, 14:15:46
    #38999571
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2-а запроса
Фигнёй маешься. Лучше заведи ещё одно поле для резервирования записей.
...
Рейтинг: 0 / 0
04.07.2015, 14:41:12
    #38999586
Snowman8526
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2-а запроса
Akina,

Может вы правы, но тогда на таблице будет большая нагрузка она не загнётся? Сейчас на одной таблице частое сканирование и добавление строк. На другой такой же это добавление строки один раз сканирование и удаление. Сейчас она работает очень быстро. Если Я загружу всё на одну таблицу может одна машина его не положит, но что произойдёт, когда машин будет 10?
Я намекаю на то что когда делаешь что-то с таблицей допустим индекс всё намертво стоит, но обращение к другой таблице худо-бедно работает.
...
Рейтинг: 0 / 0
04.07.2015, 17:58:17
    #38999645
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2-а запроса
Snowman8526,

из того, что ты написал, я не понял ни строчки.
не майся дурью, не нужно ничего никуда копировать, открой курсор на каждом клиенте на select... for update, передай запись и обрабатывай . это для inno, а для myisam такое вообще не делается.
...
Рейтинг: 0 / 0
04.07.2015, 18:00:24
    #38999647
Snowman8526
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2-а запроса
MasterZiv,

Спасибо.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / 2-а запроса / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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