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

Форум MySQL

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

 

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

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

тема: Нагрузка на БД...
 
 автор: sasha12342   (26.02.2013 в 21:18)   письмо автору
 
 

Здравствуйте!
Никак не могу понять принцип работы БД и MyQSL.
К примеру:
Есть таблица с кучей полей в том числе поля с логинами пользователей и паролями.
При авторизации пользователя запрашивается данная таблица сверяются данные и если совпадают авторизуем пользователя. В том числе к этой таблице постоянно производиться разные запросы с выводом и проверкой разных-там данных.
Так вот... Есть ли смысл создать вторую таблицу куда будем заносить (дублировать) логины и пароли пользователей и при авторизации уже вытаскивать их из второй таблицы не трогая первую?
Или таблицам вообще все равно сколько запросов к ней посылать?

  Ответить  
 
 автор: Valick   (27.02.2013 в 00:23)   письмо автору
 
   для: sasha12342   (26.02.2013 в 21:18)
 

Есть ли смысл создать вторую таблицу куда будем заносить (дублировать)
нет нету, при огромной нагрузке создают кластры, там хитровымудренным способом дублируются целые сервера.
иногда прибегают к денормализации БД и дублируют некоторое данные, но до этого вам я так понимаю еще далеко
ну а с таблицей логинов и паролей это меньше всего нагрузки, если вы конечно не авторизуетесь 500 раз в секунду :)

  Ответить  
 
 автор: sasha12342   (27.02.2013 в 15:09)   письмо автору
 
   для: Valick   (27.02.2013 в 00:23)
 

Согласен, 500 авторизаций достичь не просто, хотя возможно.
Дело в том, что сам механизм работы этого сайта построен на постоянных обращениях (запросах) к одной таблицы БД.
В зависимости от того сколько человек находится на сайте и какие действия они предпринимают увеличивается и количество запросов к таблице. Плюс ко всему если добавить сюда:
1) большую базу подписчиков;
2) рассылку письма с "супер-пупер" конкурсом всем подписчикам;
3) всплеск авторизаций.
то достичь 500 запросов к БД в секунду, элементарно. Вот я и подумал, что разбивка одной таблицы на несколько как-то повысит качество работы таблицы и снимет с нее часть нагрузки. Или таблица здесь вообще не причем а нагружается сама БД независимо от того сколько в ней таблиц и сколько запросов посылаются к каждой по отдельности.

  Ответить  
 
 автор: Igorek   (27.02.2013 в 15:43)   письмо автору
 
   для: sasha12342   (27.02.2013 в 15:09)
 

Проблемы чтения/записи данных можно решать несколькими путями. Вот небольшая статья, которая их описывает основные методики:
http://highload.com.ua/index.php/2009/05/06/%D1%88%D0%B0%D1%80%D0%B4%D0%B8%D0%BD%D0%B3-%D0%BF%D0%B0%D1%80%D1%82%D0%B8%D1%86%D0%B8%D0%BE%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86/

  Ответить  
 
 автор: Valick   (27.02.2013 в 19:39)   письмо автору
 
   для: sasha12342   (27.02.2013 в 15:09)
 

Вот я и подумал, что разбивка одной таблицы на несколько
вы не поверите, но думать тут не надо, надо знать правила нормализации, тогда организация БД - это легко и просто. На каждую сущность должна выделяться таблица + таблица связи между таблицами, если имеет место быть отношение многие ко многим

  Ответить  
Rambler's Top100
вверх

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