-
[599] ketmar © (31.05.08 15:43) Про намного легче будет серверу я имел ввиду то, что ему будет легче, если запросы к базе переделать на параметрические.
-
> ketmar © (31.05.08 15:43) [599] > давай я буду таким, как мне нравится? я у вас там не флэймлю?
У нас там ты не флеймишь, ты у нас тут флеймишь. Мы в этой ветке делом заняты, а ты нам очень мало чего интересного можешь предложить. Ты мешаешь, уйди.
-
> Ослик (31.05.08 15:44) [600] > > [599] ketmar © (31.05.08 15:43) > Про намного легче будет серверу я имел ввиду то, что ему > будет легче, если запросы к базе переделать на параметрические.
Некоторым людям бесполезно объяснять, что непараметрические запросы - зло. Забей.
-
>[600] Ослик (2008-05-31 15:44:00) не вижу разницы.
>[601] Kerk © (2008-05-31 15:46:00) ты модератор? забань. нет? тогда не указывай, что мне делать, и я не скажу, куда тебе идти.
--- Understanding is not required. Only obedience.
-
>[601] Kerk © (2008-05-31 15:46:00) >а ты нам очень мало чего интересного можешь предложить я вам, кстати, кучу кода предлагал. но у вас амбиции, вы этого упорно не замечали.
/flame mode off
--- Understanding is not required. Only obedience.
-
[603] ketmar © (31.05.08 15:47) Когда мы посылаем запрос на сервенр бд, он делает следующее: 1. Тупо по тексту запроса перебирает кэш запросов в поисках, выполнял ли он его раньше. 2. Если нет, то парсит запрос, строит план выполнения опираясь на кучу правил и на статистику. 3. Записывает запрос в кеш вместе с планом построения 4. Выполняет его по плану.
На некоторых данных шаг 2 может быть тяжелее для сервера, чем шаг 4.
Если использовать параметрические запросы, то на СУБД форума будет отсилы десятка полтора запросов, которые все будут лежать в кэше и для них не будут выполнятся шаги 2 и 3, а сразу после 1 - шаг 4. И память будет меньше забита всякими запросами, которые больше никогда не будут выполнены.
-
> ketmar © (31.05.08 15:51) [604] > > >[601] Kerk © (2008-05-31 15:46:00) > >а ты нам очень мало чего интересного можешь предложить > я вам, кстати, кучу кода предлагал. но у вас амбиции, вы > этого упорно не замечали.
Да все просто. Твой подход к разработке и общению внутри команды вызывает отвращение. Вон Антон тоже кучу кода предложил и у него все взяли почему-то. У непризнанных гениев всегда окружающие виноваты.
-
>[605] Ослик (2008-05-31 15:51:00) если сервер не способен абстрагироваться и понять, где запросы похожие, а где нет — это гуано, а не сервер. не вижу, зачем я должен делать работу, которую за меня может сделать техника.
--- Understanding is not required. Only obedience.
-
>[606] Kerk © (2008-05-31 15:53:00) >Твой подход к разработке и общению внутри команды вызывает отвращение. это никак не мои проблемы. или ты думаешь, я должен умолять, чтобы у меня код брали? мне как-то фиолетово, возьмёте вы чужой велосипед или сделаете свой, от этого у меня на столе пиво не появляется. и я не червонец, чтобы всем нравиться. если у достаточно многих людей мой «стиль общения внутри команды» претензий не вызывал, а в данном случае вызывает, то не в той консерватории проблемы ищете, methinks.
--- Understanding is not required. Only obedience.
-
> ketmar © (31.05.08 15:55) [607]
Ты поразительно некомпетентен. Сразу видно, что с серьезными СУБД никогда не работал.
> ketmar © (31.05.08 15:59) [608] > > >[606] Kerk © (2008-05-31 15:53:00) > >Твой подход к разработке и общению внутри команды вызывает > отвращение. > это никак не мои проблемы. или ты думаешь, я должен умолять, > чтобы у меня код брали? мне как-то фиолетово, возьмёте > вы чужой велосипед или сделаете свой, от этого у меня на > столе пиво не появляется. и я не червонец, чтобы всем нравиться.
Ну тогда не плачься, что у нас "амбиции". Ты код предложил, мы не взяли. Потому что нафиг не нужен. Наше право.
-
> ketmar © (31.05.08 15:07) [593]
Пожалуйста :)
Такая методика вполне успешно используется достаточно продолжительно на весьма большом сайте, и все нормально работает :)
-
>[609] Kerk © (2008-05-31 16:05:00) >Ты поразительно некомпетентен. Сразу видно, что с серьезными СУБД никогда не >работал. omfb. у тебя там что, магнитные бури? что-то ты упорно говоришь ерунду и не понимаешь очевидного. десяток таблиц с десятком полей никак не катит на «серьёзное». или мы тут не форумы обсуждаем, а СУБД промышленного масштаба с террабайтами данных?
>Ну тогда не плачься, что у нас "амбиции" да где ж я плачусь? ты, кстати, трекерь, что пишешь. то мне предложить нечего, то я предлагал… ты уж реши как-нибудь, а то не ясно. если вы считаете, что не нужен — ваше право, безусловно. и если ты имел в виду, что мне нечего предложить такого же качества, как ваша каша — это факт (у меня тоже не идеал, конечно, но явно лучше). так и написал бы сразу, что «предлагал, нам не подходит». это вовсе не «нечего».
алсо, да, я седлал глупость. сказал бы, что есть рабочее, а потом написал — как антонн. а то молчал, пока готового не было…
--- Understanding is not required. Only obedience.
-
>[610] Zeqfreed © (2008-05-31 16:13:00) да я в курсе. более того, я вполне «за» — это правильно и кошерно. более того, я сам именно такое пропагандирую. но тут вот что-то ступил. бывает… %-)
--- Understanding is not required. Only obedience.
-
>[610] Zeqfreed © (2008-05-31 16:13:00) просто я забыл про __get и __set, а без них слишком лениво делать было. %-)
--- Understanding is not required. Only obedience.
-
> ketmar © (31.05.08 16:20) [611] > > >[609] Kerk © (2008-05-31 16:05:00) > >Ты поразительно некомпетентен. Сразу видно, что с серьезными > СУБД никогда не > >работал. > omfb. у тебя там что, магнитные бури? что-то ты упорно говоришь > ерунду и не понимаешь очевидного. десяток таблиц с десятком > полей никак не катит на «серьёзное». или мы тут не форумы > обсуждаем, а СУБД промышленного масштаба с террабайтами > данных?
Вот когда хотя бы промышленные СУБД научатся "абстрагироваться и понять, где запросы похожие, а где нет", тогда и начнем этого же от MySQL требовать. Ну это если серьезно, а не погавкать.
-
К тому же очень было бы интересно узнать, как должно происходить "абстрагирование" без парсинга заново всего запроса :)
-
>[615] Kerk © (2008-05-31 16:24:00) ну право, парзинг запроса — это смешное время. это даже не миллисекунды, меньше. потеря секунды времени на миллионе клиентов, по-моему, не стоит никакого серьёзного обсуждения, потому что при таких количествах клиентов секундный выигрыш на фоне работы с самой базой не будет заметен никак.
я не спорю с тем, что серверу легче жить с предсозданными запросами (параметризованными, нет — не важно). я просто не вижу, отчего я должен делать за него его работу, если это не даёт видимого выигрыша.
--- Understanding is not required. Only obedience.
-
>[615] Kerk © (2008-05-31 16:24:00) опять же — тут важнее сами запросы оптимизировать, а не пытаться заставить сервер шустро выполнить кривой запрос. пофигу парзинг. то, что переписав запрос можно в десятки (а то и сотни раз) увеличить скорость — факт, сам делал. а чтобы перевести на кэшированые параметризованные, и скорость сколько-нибудь заметно выросла — не видел ни разу.
--- Understanding is not required. Only obedience.
-
> ketmar © (31.05.08 16:31) [616]
Так сложно написать "select * from table where field = :param" вместо "select * from table where field = ".$param ? Мелочь, а серверу приятно.
-
>[618] Kerk © (2008-05-31 16:35:00) да не сложно. но API другой. у меня, например, в параметрах запросов вдобавок можно указывать некоторые опциональные преобразования значений, которые часто нужны. вместо вызова нормализации на все данные я сделал универсальный парзер, который делает это сам. и тут уже :xxx мешать начинает. это или добавлять в свой код кучу «шумовых» вызовов, или как-то на стороне сервера заниматься сексом с тем, что пришло. оба варианта, по-моему, кривые. а если без подобного, тупо поля передавать — тогда да, тогда пусть себе серверу будет легче, не жалко.
--- Understanding is not required. Only obedience.
|