Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Скорость работы транзакций
 
 автор: dimonstt   (07.02.2008 в 13:29)   письмо автору
 
 

Здравствуйте возникла следующая проблема:
Имеется страница, которая делает достаточно большое количество запросов к дб (порядка 100) и вследствии прирожденной лени проставить нужные блокировки.. в общем нету блокировок. Но восстанавливать базу каждый день не хочеться (предположительно обращений к странице может быть достаточно много).. Целостность данных важна. Как я понимаю можно:
1. таки прописать нужные блокировки
2. поставить блокировки на все таблицы с самого начала или даже на базу, и разблокировать в самом конце
3. перейти на InnoDB (возможность есть) и поставить на всю сессию одну большую транзакцию
Пожалуйста помогите оценить проигрыш в производительности при 2,3 варианте
Заранее спасибо.

   
 
 автор: cheops   (07.02.2008 в 13:42)   письмо автору
 
   для: dimonstt   (07.02.2008 в 13:29)
 

Объём базы данных большой?

   
 
 автор: dimonstt   (07.02.2008 в 13:45)   письмо автору
 
   для: cheops   (07.02.2008 в 13:42)
 

Порядка 30-40 таблиц, самые большие из которых (около 10) до 100 000 записей. Это по максимому беру.

   
 
 автор: rusty_angel   (08.02.2008 в 16:30)
 
   для: dimonstt   (07.02.2008 в 13:29)
 

Для обеспечения целостности в большинстве случае достаточно внешних ключей. Только MyISAM это не умеет, так что InnoDB или BDB.
Ну а если отрабатывает быстро, то можно и блокировки, но писанины больше и поддерживать такой код будет сложнее.

   
 
 автор: dimonstt   (08.02.2008 в 21:37)   письмо автору
 
   для: rusty_angel   (08.02.2008 в 16:30)
 

Внешние ключи, тобишь ид записи, используются для связи между таблицами. При чем они-то здесь?
Если вы имели ввиду транзакцию на время генерации всей страницы, то все понятно, кроме того насколько примерно медленнее это будет использования блокировок в локальных местах. Примерно такая же производительность, 2 раза, в 5 медленее? И какие побочные эффекты это может дать?
Если я непонятно ставлю вопрос - то пожалуйста скажите - я переформулирую.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования