Какой способ работы с БД выбрать?

aleksey_php

Новичок
Какой способ работы с БД выбрать?

Есть 2 способа работы с БД.

Первый:
PHP:
1. mysql_connect();
2. mysql_select_db();
3. mysql_query();

4. mysql_query();

5. mysql_query();
6. mysql_close();
Второй:
PHP:
1. mysql_connect();
2. mysql_select_db();
3. mysql_query();
4. mysql_close();

5. mysql_connect();
6. mysql_select_db();
7. mysql_query();
8. mysql_close();

9. mysql_connect();
10. mysql_select_db();
11. mysql_query();
12. mysql_close();
Какой из этих способов лучше и почему?
Моё ИМХО: первый хорош тем, что нет лишних запросов на открытие\закрытие соединения, но если между mysql_query(); есть ещё какие-то действия (незначительные, 1-2 строки кода), то соединение лишний раз простаивает без дела.
Второй хорош тем, что соединение никогда не простаивает и не мешает другим пользователям подключиться к БД, но возникают лишние запросы на открытие\закрытие соединения с БД.
Ваше мнение?

PS Про mysql_pconnect() знаю. Думаю понятно, почему его использование здесь не рассматривается.
PPS Проект высоконагруженный, поэтому такой вопрос и возник.
 

Апокалипсис

тех дир matras.ru
Ппц. Один раз делаете подключение. Этого хватит. Зачем переподключаться каждый раз ?
 

Фанат

oncle terrible
Команда форума
Проект высоконагруженный, поэтому такой вопрос и возник после сосредоточенного ковыряния в носу.
Рекомендую озаботиться еще такими вопросами, как лишние пробелы в коде - интерпретатор простаивает, двойные кавычки vs. одинарные (переменные простаивают) и заменой цикла форич на цикл фор (процессор простаивает)
 

aleksey_php

Новичок
Господа, хотелось бы получить ответы по существу и с обоснованиями.
 

Фанат

oncle terrible
Команда форума
Нет. давай-ка это ты приведешь здесь обоснования своего вопроса. С чего это тебе вдруг что-то ударило в голову задуматься о количестве коннектов. Если обоснования нет - пойди, займись чем-нибудь другим. Если есть - тебе объяснят, что на самом деле надо делать.
Ферштеен?
 

aleksey_php

Новичок
*****, специально для тебя был добавлен PPS, который и привлёк твоё внимание, но в правильный вектор ход мыслей всё же не направил. Если без разжёвывания не проглатывается, то поясню:
1. У сервера мускуля есть ограничение не количество одновременных подключений, допустим 10000.
2. На сервер мускуля в одно мгновение пришло 11000 запросов.
3. 1000 запросов получили отлуп, т.к. не влезли в лимит.
Моя задача сделать так, чтобы все получили свой кусочек пирога. Возможно объяснил несколько сумбурно, поэтому добавлю ещё:
4. Нужно сделать так, чтобы пользователь не сидел лишнее время на мускуле, образовывая пробку. Должна работать схема: получил данные, которые просил -> сразу же ушёл, освободив лишние миллисекунды другому жаждущему.

upd: вместо ***** был ник предыдущего постера Phanat, который почему-то трётся парсером.
 

Фанат

oncle terrible
Команда форума
Есть такое выражение - "экономить на спичках".
Так вот оно идеально подходит к нашему озабоченному юноше.

-~{}~ 22.02.09 17:18:

2. На сервер мускуля в одно мгновение пришло 11000 запросов.
ты уже столкнулся с таким количеством в реальности?
 

aleksey_php

Новичок
ты уже столкнулся с таким количеством в реальности?
Думаешь я создал тему для того, чтобы помечтать о таком количестве юзеров?
to ALL: Всё ещё принимаются ответы по существу вопроса, а не флуд.
 

Фанат

oncle terrible
Команда форума
по существу тебе ответили.
дальше тебя можно только троллить, такого незамутненного.
"и не хочется - да нельзя упускать такой случай", как говорил один мальчик, кидаясь в одного дяденьку банановыми корками.
 

aleksey_php

Новичок
Понятно. Видимо ошибся аудиторией, раз здесь даже старожилы не имеют никакого представления об оптимизации под большую нагрузку. Пойду на highload.
 

Фанат

oncle terrible
Команда форума
давай-давай.
действительно, надо же и там людям повеселиться =)
 

Фанат

oncle terrible
Команда форума
Что интересно. Неделю назад такой же спрашивал в ру похапе, полезно ли заменить ич на форич под высокой нагрузкой. При этом у него в голове точно такая же непробиваемая причинно-следственная связь: раз проект высоконагруженный, то любой бред, высосанный из пальца, и не имеющий ни малейшего практического обоснования автоматически становится обоснованным.
клонируют их где-то, что ли?
 

Фанат

oncle terrible
Команда форума
корпоративные праздники еще могут

Все равно не понимаю. Откуда такая уверенность в придуманной причине? Если есть проблема, и ты ищешь авторитетногого мнения, почему бы не изложить саму проблему, а не свои фантазии по поводу её решения? Ответ на этот вопрос науке неизвестен.
Ведь я даже готов поверить, что у него действительно проблема с коннектами. 20 или 30 - сколько там дает провайдер. Но откуда он взял, что проблема - в тех самых двух строчках между запросами?
 

HraKK

Мудак
Команда форума
Я решил участвовать в стрит рассинге, но мой запорожец вечно сходит с дистанции ( глохнет ), я вот думаю какую шину мне поставить летнюю или зимнюю?
Летняя мне больше нравиться потому что сейчас лето и достаточно сухо но, на зимней машина глохнет чуть дальше.

П.С. Про шипованую резину я знаю. Думаю понятно, почему ее использование здесь не рассматривается.
PPS Гонки скоростные, поэтому такой вопрос и возник.
 

DIS

Новичок
рыть надо в настройки мускуля и php (соединения)

юзать надо первый вариант.. иначе создаш дополнительную нагрузку, увеличишь время выполнения процессов и тем самым создашь очередь ещё больше.

11000 запросов одновременно - google что ль?
 

findnext

Новичок
Нужно сделать так, чтобы пользователь не сидел лишнее время на мускуле, образовывая пробку. Должна работать схема: получил данные, которые просил -> сразу же ушёл, освободив лишние миллисекунды другому жаждущему.
может стоить посмотреть в сторону кеширования...
 
Сверху