PHP+mySQL

Frank
Уже с Приветом
Posts: 2019
Joined: 22 Jul 2000 09:01

PHP+mySQL

Post by Frank »

1) Интересно, зачем платить $120 тому, кто не умеет писать на данном языке?
2) У MySQL есть очень полезные для web расширения типа: LIMIT(этот особенно приятен), REPLACE, INSERT INTO mytable VALUES(1), (22), (33) и т.д.
3) Интересно было бы сравнить по скорости Access и MySQL при одновременном обращении 30-50 пользователей, продолжающемся целый день, а то получается, что Access можно использовать в серьезных проектах, а MySQL нельзя.
4) Много ли хостингов с чем-то, отличающемся от MySQL-PostgreSQL, и сколько они стоят? И в частности сколько стоит в час хороший администратор MS SQL? И каждому ли заказчику понравится увеличение цены проекта на десяток тысяч долларов из-за более крутой базы данных?
5) Что важнее в webе: супербыстрые SELECTы(раз в 7 быстрее какого-нибудь Oracle) или наличие триггеров-процедур?
6) Ошибки? Как насчет Error_Reporting(1+2+4+8) или оператора @ или die или eval? Было бы, конечно, лучше, если бы они доPerlи до eval{} if($@){}
7) Зачем отлаживать под Win приложения для Unix, если под Unix это намного удобней делать?
babu
Уже с Приветом
Posts: 390
Joined: 31 Jan 2001 10:01

PHP+mySQL

Post by babu »

Вот просто из опыта серфинга, если я лажу просто по инету, иногда нарываюсь на какие-то дикие ошибки типа ".. timeout expired ..", и т. д. я на 99,99 уверен что это АСП. Подымаю глаза (на адрессную строку) - таки да - АСП ! Ни разу, единожды отлаженное приложение под ПхП/Перл не вело себя "непредсказуемо", в отличие от АСП-а.
User avatar
webdeveloper
Уже с Приветом
Posts: 2049
Joined: 12 Jul 2000 09:01
Location: Madison, Wisconsin USA

PHP+mySQL

Post by webdeveloper »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by Бармалей:
<STRONG>Вот просто из опыта серфинга, если я лажу просто по инету, иногда нарываюсь на какие-то дикие ошибки типа ".. timeout expired ..", и т. д. я на 99,99 уверен что это АСП. Подымаю глаза (на адрессную строку) - таки да - АСП ! Ни разу, единожды отлаженное приложение под ПхП/Перл не вело себя "непредсказуемо", в отличие от АСП-а.</STRONG><HR></BLOCKQUOTE>

Это говорит только о том что эти ошибки никто не потрудился обработать. А средств для этого в ASP намного больше. И делается это по нормальному. Пишешь
try{
//some code
}
catch(objException){
Response.Write(objException.Number);
Response.Write(objException.Description);
}
А можешь сформировать текстовую строку и редирект на специальнцю страницу, типа error.asp и там эту ошибку показать. А можешь ее в лог записать что хочешь то и делаешь.

По поводу непредсказуемости и timeout - у РНР это значение 30 секунд по умолчанию. попробукй зарядить какой нибудь скрипт который будет работать 40 секунд и ты это сообщение получишь. А вобще это runtime errors поэтому их то и нужно перхватывать а в РНР это сделать намного сложне.
User avatar
webdeveloper
Уже с Приветом
Posts: 2049
Joined: 12 Jul 2000 09:01
Location: Madison, Wisconsin USA

PHP+mySQL

Post by webdeveloper »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by Frank:
<STRONG>1) Интересно, зачем платить $120 тому, кто не умеет писать на данном языке?
2) У MySQL есть очень полезные для web расширения типа: LIMIT(этот особенно приятен), REPLACE, INSERT INTO mytable VALUES(1), (22), (33) и т.д.
3) Интересно было бы сравнить по скорости Access и MySQL при одновременном обращении 30-50 пользователей, продолжающемся целый день, а то получается, что Access можно использовать в серьезных проектах, а MySQL нельзя.
4) Много ли хостингов с чем-то, отличающемся от MySQL-PostgreSQL, и сколько они стоят? И в частности сколько стоит в час хороший администратор MS SQL? И каждому ли заказчику понравится увеличение цены проекта на десяток тысяч долларов из-за более крутой базы данных?
5) Что важнее в webе: супербыстрые SELECTы(раз в 7 быстрее какого-нибудь Oracle) или наличие триггеров-процедур?
6) Ошибки? Как насчет Error_Reporting(1+2+4+8) или оператора @ или die или eval? Было бы, конечно, лучше, если бы они доPerlи до eval{} if($@){}
7) Зачем отлаживать под Win приложения для Unix, если под Unix это намного удобней делать?</STRONG><HR></BLOCKQUOTE>

Во первых 120 плятят не мне а моей конторе [img:e5561d8f06]images/smiles/icon_smile.gif[/img:e5561d8f06]

Теперь про Limit на MS Access или SQL Server это выглядит так SELECT TOP n * FROM ....

Не на каждом проекте нужен администратор SQL Server, а вот скорость разработки сокращается почти вдвое. Так что по деньгам это намного меньше. А если у заказчика нет денего на свой сервер то еще проще - MS SQL Server хостинг стоит 50 баксов в месяц. примерно столь ок же стоит хостинг на Unix + mySQL. А администратор там уже есть.

Теперь о том что важнее в вебе - важнее всего скорость разработки. Как это не странно звучит. К тому же за счет того что этот mySQL может делать только простые запросы, приходитсяч делать несколько обращений к базе данных, для того что бы получить нужный результат, а с хранимой процедурой я вполне могу обойтися одним. Вот и посчитай кто быстрее будет. Кроме того хранимые процедуры хранятся в прекомпилированном виде и выполняются значительно быстрее чем обычной SQL выражение.

Теперь про то где чего отлаживать - ну вот нужно мне работать на w2k а сайт писать на PHP, а работать будет на юниксе. А этот РНР оказывается работает везде но по разному. Это нормально?

Не, не буду я на нем серьезные проекты делать [img:e5561d8f06]images/smiles/icon_smile.gif[/img:e5561d8f06] Это не работа а танцы с бубном. [img:e5561d8f06]images/smiles/icon_smile.gif[/img:e5561d8f06]
User avatar
f_evgeny
Уже с Приветом
Posts: 10367
Joined: 12 Apr 2001 09:01
Location: Lithuania/UK

PHP+mySQL

Post by f_evgeny »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by webdeveloper:
<STRONG>
о

Теперь про то где чего отлаживать - ну вот нужно мне работать на w2k а сайт писать на PHP, а работать будет на юниксе. А этот РНР оказывается работает везде но по разному. Это нормально?

Не, не буду я на нем серьезные проекты делать [img:12aad8d6e6]images/smiles/icon_smile.gif[/img:12aad8d6e6] Это не работа а танцы с бубном. [img:12aad8d6e6]images/smiles/icon_smile.gif[/img:12aad8d6e6]</STRONG><HR></BLOCKQUOTE>
Ну что, похоже ситуация меняется на обратную? Раньше юниксоидов заставляли работать на виндах, а вот и наооброт видим.

[img:12aad8d6e6]images/smiles/icon_smile.gif[/img:12aad8d6e6]
Frank
Уже с Приветом
Posts: 2019
Joined: 22 Jul 2000 09:01

PHP+mySQL

Post by Frank »

Я, конечно, не специалист по php, и за неделю его никак не выучу, но могу сделать поиск по документации:
http://www.php.net/manual/en/function.set-time-limit.php
set_time_limit -- limit the maximum execution time

То же самое можно сделать и по какому-нибудь error handling.

>кому нужен 99.999% uptime поставит свою коробку
Вот-вот, сначала заказчик должен купить базу за тыщи баксов, потом ставить свою коробку(а так как база, хм-м, раз в 5 тормознее, то коробка будет стоить ого-го), потом платить ежемесячно провайдеру...
А может в бизнес-логике у него вывести свой каталог в Интернет с возможностью поиска, ну и где здесь место обязательным триггерам и процедурам?

Когда нужна 99,999% надежность, то в Интернет такое не выставляют.
Frank
Уже с Приветом
Posts: 2019
Joined: 22 Jul 2000 09:01

PHP+mySQL

Post by Frank »

Разработка проектов на php и MySQL отличается от разработки таких же вещей на asp+MS SQL. Так что надо подходить к программированию по другому.

Кому как. Мне казалось, что для Интернета важнее скорость и надежность работы при непредсказуемом количестве клиентов, нетребовательность к ресурсам и возможность легко перебросить на другую платформу и другой хостинг.

А как насчет SELECT * FROM mytable WHERE field_id > 1000 ORDER BY some_field LIMIT 50000, 10;

Как это ни странно, но время соединения с базой у MySQL буквально миллисекунды, так что несколько запросов с использованием внешней программы будут выполняться все равно намного быстрее скомпиленной процедуры в MS SQL.

Интересно, почему вы сразу не объявили заказчику: "не буду я на нем серьезные проекты делать". Думаю, он бы очень обрадовался.

А Unix-то удобная штука, особенно когда сервер у вас не перед глазами стоит.

[ 08-09-2001: Message edited by: Frank ]
User avatar
tengiz
Уже с Приветом
Posts: 4468
Joined: 21 Sep 2000 09:01
Location: Sammamish, WA

PHP+mySQL

Post by tengiz »

Frank:

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote[quote:34703b0532]А как насчет SELECT * FROM mytable WHERE field_id > 1000 ORDER BY some_field LIMIT 50000, 10;[/quote:34703b0532]
На MS SQL такая фигня делается при помощи "толстого" keyset курсора. <BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote[quote:34703b0532]Как это ни странно, но время соединения с базой у MySQL буквально миллисекунды, так что несколько запросов с использованием внешней программы будут выполняться все равно намного быстрее скомпиленной процедуры в MS SQL.[/quote:34703b0532]Не будет, потому, что, например, IIS использует то, что называется Database Connection Pooling (если я не ошибаюсь, в PHP есть аналог pooling, который называется persistent database connection). Это реализовано на уровне ODBC или OLEDB и не зависит от приложения и драйвера. Единственное, что нужно сделать, это разрешить Pooling для определённого драйвера и при инициализации HENV (для ODBC). И всё... Идеально подходит для Web с его типичными нагрузками - подключение/запрос/отключение.
dimach
Уже с Приветом
Posts: 460
Joined: 22 Dec 1999 10:01
Location: san jose, ca

PHP+mySQL

Post by dimach »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by Frank:
<STRONG>1) Интересно, зачем платить $120 тому, кто не умеет писать на данном языке?
2) У MySQL есть очень полезные для web расширения типа: LIMIT(этот особенно приятен), REPLACE, INSERT INTO mytable VALUES(1), (22), (33) и т.д.
3) Интересно было бы сравнить по скорости Access и MySQL при одновременном обращении 30-50 пользователей, продолжающемся целый день, а то получается, что Access можно использовать в серьезных проектах, а MySQL нельзя.
4) Много ли хостингов с чем-то, отличающемся от MySQL-PostgreSQL, и сколько они стоят? И в частности сколько стоит в час хороший администратор MS SQL? И каждому ли заказчику понравится увеличение цены проекта на десяток тысяч долларов из-за более крутой базы данных?
5) Что важнее в webе: супербыстрые SELECTы(раз в 7 быстрее какого-нибудь Oracle) или наличие триггеров-процедур?
6) Ошибки? Как насчет Error_Reporting(1+2+4+8) или оператора @ или die или eval? Было бы, конечно, лучше, если бы они доPerlи до eval{} if($@){}
7) Зачем отлаживать под Win приложения для Unix, если под Unix это намного удобней делать?</STRONG><HR></BLOCKQUOTE>

1. и правда - не зачем. webdeveloperу платят, потому, что он [i:6f173562bf]умеет[/i:6f173562bf] [img:6f173562bf]images/smiles/icon_biggrin.gif[/img:6f173562bf]
2. а в чем польза ? см. также п.5
3. интересно...
4. да навалом [img:6f173562bf]images/smiles/icon_wink.gif[/img:6f173562bf] за 10-20 в месяц конечно, ничего кроме указанного не найти - но кому нужен 99.999% uptime поставит свою коробку - а в ней уж что угодно [img:6f173562bf]images/smiles/icon_smile.gif[/img:6f173562bf]
5. таки наличие триггеров-процедур... на кой чорт мне эти супербыстрые (что тоже подлежит проверке [img:6f173562bf]images/smiles/icon_wink.gif[/img:6f173562bf]) селекты ? бизнес-логика строится в основном на апдейтах и инсертах [img:6f173562bf]images/smiles/icon_biggrin.gif[/img:6f173562bf]
6. ну тут уж я не знаю. по-моему, конкретный синтаксис - дело десятое...
7. да вроде не зачем... если использовать приложения под Unix [img:6f173562bf]images/smiles/icon_biggrin.gif[/img:6f173562bf]
User avatar
webdeveloper
Уже с Приветом
Posts: 2049
Joined: 12 Jul 2000 09:01
Location: Madison, Wisconsin USA

PHP+mySQL

Post by webdeveloper »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by Frank:
<STRONG>Я, конечно, не специалист по php, и за неделю его никак не выучу, но могу сделать поиск по документации:
http://www.php.net/manual/en/function.set-time-limit.php
set_time_limit -- limit the maximum execution time
</STRONG><HR></BLOCKQUOTE>

дык это и в ASP можно сделать, и никаких проблем точно так же таймаут выставляется и вперед. Просто кто то этого делать не умеет. Вот и все.
<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR><STRONG>
То же самое можно сделать и по какому-нибудь error handling.
</STRONG><HR></BLOCKQUOTE>

ну нет там возможности перехватить ошибку и обработать ее на странице. как не ищи, нет этого там [img:6be5192d8f]images/smiles/icon_sad.gif[/img:6be5192d8f]
<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR><STRONG>
Вот-вот, сначала заказчик должен купить базу за тыщи баксов, потом ставить свою коробку(а так как база, хм-м, раз в 5 тормознее, то коробка будет стоить ого-го), потом платить ежемесячно провайдеру...
</STRONG><HR></BLOCKQUOTE>

ну конечно если заказчик хочет сделать персональную страничку Васи Пупкина то тогда вперед. А если это нормальный проект который будет приносить денги, то тогда это не так уж много. Еще раз напомню, что неделя работы одного программиста по стоимости примерно равна SQL Server. а далше уже идет экономия.
<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR><STRONG>
А может в бизнес-логике у него вывести свой каталог в Интернет с возможностью поиска, ну и где здесь место обязательным триггерам и процедурам?
</STRONG><HR></BLOCKQUOTE>

А как можно сделать каталог без административного интерфейса к нему? Как его администрировать то потом? Вот там и понадбятся все эти хранимые процедуры и тригера. Или если это рейтинг сайтов - то тогда там еще и update делать придется постоянно. Вот здесь тоже все это пригодится.
У меня друья написаи в свое время каталог Нижегородских ресурсов на PHP+mySQL. Через 2 года когда колличество записей стало 18000 каталог загнулся из-ща того что база данных просто не смогла это все обрабатывать.
[/QB][/QUOTE]

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR><STRONG>
Когда нужна 99,999% надежность, то в Интернет такое не выставляют.</STRONG><HR></BLOCKQUOTE>

Вот это новость, это кто же это приумал то? [img:6be5192d8f]images/smiles/icon_biggrin.gif[/img:6be5192d8f]
Frank
Уже с Приветом
Posts: 2019
Joined: 22 Jul 2000 09:01

PHP+mySQL

Post by Frank »

Понятное дело, что в большой базе можно что угодно сделать, но приятней, когда такую удобную функцию для разбивки на страницы сделали в самой базе, или регистронезависимый поиск, или поля TEXT и BLOB, которые ведут себя как супербольшие VARCHAR в плане вставки и извлечения данных...

Как насчет такой обработки ошибок:
<?php
Error_Reporting(1+2+4+8);
if (!@filemtime("test.txt"))
header("Location:error.php");
?>
Попробуйте убрать @

Да вот, в некоторых "плохих" языках не используется механизм иксепшенов, а проверяют возвращаемые значения.

Посмотрите внимательней на php.ini, может там есть параметры типа
max_execution_time, error_reporting

Внешнюю логику можно написать на языке высокого уровня и это может оказаться и удобней, и быстрее, и переносимей встроенных процедур.
При этом скорость выборки из MySQL по любым тестам намного выше, чем из MS SQL.
Я как-то поспорил с одним, доказывавшим что MS SQL быстрее, написал по-быстрому программу, реализующую тот же алгоритм, что и его процедура, вывел наглядные результаты превосходства... больше его не видел.
Тогда, уж если вам быть последовательными в доказательстве, что встроенные процедуры - это очень-очень хорошо, то почему бы и странички не формировать внутри базы.

CREATE OR REPLACE PROCEDURE helloOra(p_Greeting IN VARCHAR2) AS
BEGIN
HTP.htmlOpen;
HTP.headOpen;
HTP.Title('Hello World!');
HTP.headClose;
HTP.bodyOpen;
HTP.print(p_Greeting);
HTP.bodyClose;
HTP.htmlClose;
END helloOra;
Должно быть офигительно удобно.

Административный интерфейс можно легко отделить от модуля вывода страниц.
Пускай на том же Access вставляют, редактируют данные, а потом время от времени все это синхронизировать с web-базой.
С одной стороны стороны будет быстрый вывод данных на страницу, с другой знакомый для "девочек" интерфейс.

Есть у меня книжонка некоего А. Павлова из нижегородской губернии.
>На самом начальном этапе сервис статистики "Нижегородский Top100 www.counter.nn.ru был (страшно подумать!) системой неоптимизированных скриптов, написанных на Perl. Из-за проблемы роста я его многократно переписывал и оптимизировал. Сначала кое-чего переписал на С, затем начал отлавливать неоптимальности алгоритмов. На данный момент система статистики "Нижегородский Top100" использует распределенную технологию - накопление статистики и рисование картинки происходит отдельно на разных машинах, причем сама система статистики и рисование картинки происходит отдельно на разых машинах, причем сама система статистики представляет собой модуль, вкомпилированный внутрь Web-сервера.
Есть там у него и что-то по поисковой системе по линкам, использующее в качестве хранилища DBM.
Между прочим, 18000 записей это вообще копейки, и, кажись, MySQL тоже разумеет UPDATE.

Где-нибудь кабель порвут, магистральный рутер сдохнет, ошибутся с записью в DNS, хакеры канал зафлудят, вирусы там... Интернет - это анархия, никто ни за что не отвечает.
Ну и где будут ваши 99,999%? Только в бронированной комнате со своей электростанцией, никаких сеток, все в сервере трижды резервировано.

[ 09-09-2001: Message edited by: Frank ]
lebowski
Новичок
Posts: 88
Joined: 16 Jan 2001 10:01
Location: Moscow, Russia

PHP+mySQL

Post by lebowski »

<b>Теперь о том что важнее в вебе - важнее всего скорость разработки. Как это не странно звучит.</b>

опаньки, приехали [img:5c0dac8493]images/smiles/icon_wink.gif[/img:5c0dac8493] да ничто не мешает проекту загнуться вскоре после открытия, если его написали криво или с неправильным использованием технологий - это независимо от того, как быстро Вы его создадите. есть несколько основных общих правил, определяющих жизненный цикл и успех проекта, и не важно веб-невеб, хотя веб и добавляет особенностей но не суть. выделять из контекста всех факторов скорость разработки мягко говоря нехорошо.
Frank
Уже с Приветом
Posts: 2019
Joined: 22 Jul 2000 09:01

PHP+mySQL

Post by Frank »

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

Да, и почему бы заодно не наехать на славный язык под названием С++. Неплохо бы посчитать, как долго будет с его помощью создаваться web-приложение. Но попробуйте на него наехать!
Seryi
Ник закрыт как дубликат.
Posts: 6238
Joined: 14 Mar 2001 10:01
Location: .MD -> .SI -> .SE -> .AR.US -> .MD

PHP+mySQL

Post by Seryi »

А что еще есть те кто с помощью C++ создают Веб-приложения?
Я делаю на нем только критические участки, коих немного, а в некоторых проектах и вообще нет.
Frank
Уже с Приветом
Posts: 2019
Joined: 22 Jul 2000 09:01

PHP+mySQL

Post by Frank »

А почему бы и нет? Если кто-то так уж печется о скорости, то С побыстрее будет какой-то там джавы.

К слову, о надежности. Предложенный метод достижения 99,999% надежности с помощью установки своего сервера "около дома" почему-то не очень практикуется.

Обычно берут хороший хостинг у того, кто подключен сразу к нескольким магистральным провайдерам и, желательно, поближе к конечным пользователям; еще mirrorы ставят, akamai пользуют и т.д.

Return to “Вопросы и новости IT”