Форум программистов, компьютерный форум, киберфорум
Наши страницы
MySQL
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
EFEFEFEF
36 / 13 / 2
Регистрация: 12.10.2009
Сообщений: 421
1

INSERT DELETE UPDATE

23.07.2011, 14:44. Просмотров 1439. Ответов 3
Метки нет (Все метки)

Стоит ли блокировать таблицы при вставке допустим в базу новых записей. Может возникнуть такая ситуация что в одну и ту же секунду будет происходить выборка актуальных данных и вставка, не успев вставиться мы получим старые данные. И вообще для чего применяется блокировка таблиц и нужно ли ее использовать при этих действиях удаление, вставка, обновление. Думаю при удаление не нужно. Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.07.2011, 14:44
Ответы с готовыми решениями:

Как организовать журналирование insert / update / delete для нескольких таблиц?
Используется MySQL - 5.7 - х64 Имеется несколько таблиц с...

Insert или update по условию
Здравствуйте. Есть таблица типа запись | Дата В приложении реализована...

Insert into в один столбец ON DUPLICATE KEY UPDATE
Eсть таблица product со столбцами idProduct, ProductName. idProduct (PK, NN,...

Дедлоки между update limit N и update по primary key
Добрый день! Столкнулся с дедлоками, хотелось бы послушать опытных товарищей...

UPDATE vs DELETE & INSERT
Есть таблица с несколькими полями, без первичного ключа. По ходу задачи...

3
Humanoid
Почетный модератор
9962 / 3849 / 344
Регистрация: 12.06.2008
Сообщений: 11,366
23.07.2011, 14:53 2
Цитата Сообщение от EFEFEFEF Посмотреть сообщение
Стоит ли блокировать таблицы при вставке допустим в базу новых записей.
Нет. Таблица автоматически блокируется при изменении. Кстати, в MyISAM блокируется вся таблица, а в InnoDB только те строки, которые изменяются/добавляются. Поэтому и говорят, что InnoDB больше подходит для сильно нагруженных таблиц, в которых часто происходят изменения и чтения.

Цитата Сообщение от EFEFEFEF Посмотреть сообщение
И вообще для чего применяется блокировка таблиц и нужно ли ее использовать при этих действиях удаление, вставка, обновление.
Блокировку используют, когда с таблицей проводят какие-то сложные действия из нескольких запросов. Например, если нужно изменить разные поля несколько строк... например для одной строки изменить один столбец, а для другой - другой столбец. Выполнить это одним запросом не получится. Вот тогда, что бы не было момента, когда один столбец изменён, а другой нет, и применяют блокировку. Для обычных операций из одного запроса блокировка не требуется.
1
EFEFEFEF
36 / 13 / 2
Регистрация: 12.10.2009
Сообщений: 421
23.07.2011, 14:59  [ТС] 3
Посоветуйте плз еще, я обычно не когда не использую индексы. Только инкремент для Id, но как я понимаю они увеличивают скорость выборки допустим если пишем запрос
SQL
1
SELECT name, fio FROM ...
то нужно поставить индекс по полям name and fio ? поля
0
Humanoid
Почетный модератор
9962 / 3849 / 344
Регистрация: 12.06.2008
Сообщений: 11,366
23.07.2011, 15:11 4
Цитата Сообщение от EFEFEFEF Посмотреть сообщение
то нужно поставить индекс по полям name and fio ? поля
Нет... это зависит от того, по каким полям идёт поиск и сортировка. А какие поля ты будешь отображать не имеет значения. Например, для запроса
SQL
1
SELECT name, fio FROM tab WHERE city=5 AND age=20
Нужен индекс KEY(city,age)
А вот для сортировок я точно не знаю... например
SQL
1
SELECT * FROM tab WHERE city=5 AND age=20 ORDER BY fio
...я не уверен, будет ли лучше KEY(city,age,fio) или KEY(city,age) и отдельный ключ KEY(fio)
Кстати, для исследования подобных вещей есть EXPLAIN... например, если ввести запрос
SQL
1
EXPLAIN SELECT * FROM tab WHERE city=5 AND age=20 ORDER BY fio
...то он покажет, какой индекс он использует и т.п.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.07.2011, 15:11

Запросы с INSERT, UPDATE, DELETE
Помогите пожалуйста составить запросы на команды с INSERT, UPDATE, DELETE...

Функция, которая возвращает имя пользователя, который вызвал UPDATE/DELETE/INSERT
Не могу нагуглить. Нужна функция которая возвращает имя пользователя который...

Insert, update
нужно создать 3 кнопки в borland builder: создать запись, добавить, удалить с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru