Конференция "Прочее" » Идеальная потрепаловка. Какой она должна быть?
 
  • Ослик (31.05.08 15:44) [600]
    [599] ketmar ©   (31.05.08 15:43)
    Про намного легче будет серверу я имел ввиду то, что ему будет легче, если запросы к базе переделать на параметрические.
  • Kerk © (31.05.08 15:46) [601]

    > ketmar ©   (31.05.08 15:43) [599]
    > давай я буду таким, как мне нравится? я у вас там не флэймлю?

    У нас там ты не флеймишь, ты у нас тут флеймишь. Мы в этой ветке делом заняты, а ты нам очень мало чего интересного можешь предложить. Ты мешаешь, уйди.
  • Kerk © (31.05.08 15:47) [602]

    > Ослик   (31.05.08 15:44) [600]
    >
    > [599] ketmar ©   (31.05.08 15:43)
    > Про намного легче будет серверу я имел ввиду то, что ему
    > будет легче, если запросы к базе переделать на параметрические.

    Некоторым людям бесполезно объяснять, что непараметрические запросы - зло. Забей.
  • ketmar © (31.05.08 15:47) [603]
    >[600] Ослик (2008-05-31 15:44:00)
    не вижу разницы.

    >[601] Kerk © (2008-05-31 15:46:00)
    ты модератор? забань. нет? тогда не указывай, что мне делать, и я не скажу, куда тебе идти.

    ---
    Understanding is not required. Only obedience.
  • ketmar © (31.05.08 15:51) [604]
    >[601] Kerk © (2008-05-31 15:46:00)
    >а ты нам очень мало чего интересного можешь предложить

    я вам, кстати, кучу кода предлагал. но у вас амбиции, вы этого упорно не замечали.

    /flame mode off

    ---
    Understanding is not required. Only obedience.
  • Ослик (31.05.08 15:51) [605]
    [603] ketmar ©   (31.05.08 15:47)
    Когда мы посылаем запрос на сервенр бд, он делает следующее:
    1. Тупо по тексту запроса перебирает кэш запросов в поисках, выполнял ли он его раньше.
    2. Если нет, то парсит запрос, строит план выполнения опираясь на кучу правил и на статистику.
    3. Записывает запрос в кеш вместе с планом построения
    4. Выполняет его по плану.

    На некоторых данных шаг 2 может быть тяжелее для сервера, чем шаг 4.

    Если использовать параметрические запросы, то на СУБД форума будет отсилы десятка полтора запросов, которые все будут лежать в кэше и для них не будут выполнятся шаги 2 и 3, а сразу после 1 - шаг 4.
    И память будет меньше забита всякими запросами, которые больше никогда не будут выполнены.
  • Kerk © (31.05.08 15:53) [606]

    > ketmar ©   (31.05.08 15:51) [604]
    >
    > >[601] Kerk © (2008-05-31 15:46:00)
    > >а ты нам очень мало чего интересного можешь предложить
    > я вам, кстати, кучу кода предлагал. но у вас амбиции, вы
    > этого упорно не замечали.

    Да все просто. Твой подход к разработке и общению внутри команды вызывает отвращение. Вон Антон тоже кучу кода предложил и у него все взяли почему-то. У непризнанных гениев всегда окружающие виноваты.
  • ketmar © (31.05.08 15:55) [607]
    >[605] Ослик (2008-05-31 15:51:00)
    если сервер не способен абстрагироваться и понять, где запросы похожие, а где нет — это гуано, а не сервер. не вижу, зачем я должен делать работу, которую за меня может сделать техника.

    ---
    Understanding is not required. Only obedience.
  • ketmar © (31.05.08 15:59) [608]
    >[606] Kerk © (2008-05-31 15:53:00)
    >Твой подход к разработке и общению внутри команды вызывает отвращение.

    это никак не мои проблемы. или ты думаешь, я должен умолять, чтобы у меня код брали? мне как-то фиолетово, возьмёте вы чужой велосипед или сделаете свой, от этого у меня на столе пиво не появляется. и я не червонец, чтобы всем нравиться. если у достаточно многих людей мой «стиль общения внутри команды» претензий не вызывал, а в данном случае вызывает, то не в той консерватории проблемы ищете, methinks.

    ---
    Understanding is not required. Only obedience.
  • Kerk © (31.05.08 16:05) [609]

    > ketmar ©   (31.05.08 15:55) [607]

    Ты поразительно некомпетентен. Сразу видно, что с серьезными СУБД никогда не работал.

    > ketmar ©   (31.05.08 15:59) [608]
    >
    > >[606] Kerk © (2008-05-31 15:53:00)
    > >Твой подход к разработке и общению внутри команды вызывает
    > отвращение.
    > это никак не мои проблемы. или ты думаешь, я должен умолять,
    >  чтобы у меня код брали? мне как-то фиолетово, возьмёте
    > вы чужой велосипед или сделаете свой, от этого у меня на
    > столе пиво не появляется. и я не червонец, чтобы всем нравиться.

    Ну тогда не плачься, что у нас "амбиции". Ты код предложил, мы не взяли. Потому что нафиг не нужен. Наше право.
  • Zeqfreed © (31.05.08 16:13) [610]
    > ketmar ©   (31.05.08 15:07) [593]

    Пожалуйста :)

    Такая методика вполне успешно используется достаточно продолжительно на весьма большом сайте, и все нормально работает :)
  • ketmar © (31.05.08 16:20) [611]
    >[609] Kerk © (2008-05-31 16:05:00)
    >Ты поразительно некомпетентен. Сразу видно, что с серьезными СУБД никогда не
    >работал.

    omfb. у тебя там что, магнитные бури? что-то ты упорно говоришь ерунду и не понимаешь очевидного. десяток таблиц с десятком полей никак не катит на «серьёзное». или мы тут не форумы обсуждаем, а СУБД промышленного масштаба с террабайтами данных?

    >Ну тогда не плачься, что у нас "амбиции"
    да где ж я плачусь? ты, кстати, трекерь, что пишешь. то мне предложить нечего, то я предлагал… ты уж реши как-нибудь, а то не ясно. если вы считаете, что не нужен — ваше право, безусловно. и если ты имел в виду, что мне нечего предложить такого же качества, как ваша каша — это факт (у меня тоже не идеал, конечно, но явно лучше). так и написал бы сразу, что «предлагал, нам не подходит». это вовсе не «нечего».

    алсо, да, я седлал глупость. сказал бы, что есть рабочее, а потом написал — как антонн. а то молчал, пока готового не было…

    ---
    Understanding is not required. Only obedience.
  • ketmar © (31.05.08 16:22) [612]
    >[610] Zeqfreed © (2008-05-31 16:13:00)
    да я в курсе. более того, я вполне «за» — это правильно и кошерно. более того, я сам именно такое пропагандирую. но тут вот что-то ступил. бывает… %-)

    ---
    Understanding is not required. Only obedience.
  • ketmar © (31.05.08 16:23) [613]
    >[610] Zeqfreed © (2008-05-31 16:13:00)
    просто я забыл про __get и __set, а без них слишком лениво делать было. %-)

    ---
    Understanding is not required. Only obedience.
  • Kerk © (31.05.08 16:23) [614]

    > ketmar ©   (31.05.08 16:20) [611]
    >
    > >[609] Kerk © (2008-05-31 16:05:00)
    > >Ты поразительно некомпетентен. Сразу видно, что с серьезными
    > СУБД никогда не
    > >работал.
    > omfb. у тебя там что, магнитные бури? что-то ты упорно говоришь
    > ерунду и не понимаешь очевидного. десяток таблиц с десятком
    > полей никак не катит на «серьёзное». или мы тут не форумы
    > обсуждаем, а СУБД промышленного масштаба с террабайтами
    > данных?

    Вот когда хотя бы промышленные СУБД научатся "абстрагироваться и понять, где запросы похожие, а где нет", тогда и начнем этого же от MySQL требовать. Ну это если серьезно, а не погавкать.
  • Kerk © (31.05.08 16:24) [615]
    К тому же очень было бы интересно узнать, как должно происходить "абстрагирование" без парсинга заново всего запроса :)
  • ketmar © (31.05.08 16:31) [616]
    >[615] Kerk © (2008-05-31 16:24:00)
    ну право, парзинг запроса — это смешное время. это даже не миллисекунды, меньше. потеря секунды времени на миллионе клиентов, по-моему, не стоит никакого серьёзного обсуждения, потому что при таких количествах клиентов секундный выигрыш на фоне работы с самой базой не будет заметен никак.

    я не спорю с тем, что серверу легче жить с предсозданными запросами (параметризованными, нет — не важно). я просто не вижу, отчего я должен делать за него его работу, если это не даёт видимого выигрыша.

    ---
    Understanding is not required. Only obedience.
  • ketmar © (31.05.08 16:33) [617]
    >[615] Kerk © (2008-05-31 16:24:00)
    опять же — тут важнее сами запросы оптимизировать, а не пытаться заставить сервер шустро выполнить кривой запрос. пофигу парзинг. то, что переписав запрос можно в десятки (а то и сотни раз) увеличить скорость — факт, сам делал. а чтобы перевести на кэшированые параметризованные, и скорость сколько-нибудь заметно выросла — не видел ни разу.

    ---
    Understanding is not required. Only obedience.
  • Kerk © (31.05.08 16:35) [618]

    > ketmar ©   (31.05.08 16:31) [616]

    Так сложно написать
    "select * from table where field = :param"

    вместо
    "select * from table where field = ".$param

    ? Мелочь, а серверу приятно.
  • ketmar © (31.05.08 16:40) [619]
    >[618] Kerk © (2008-05-31 16:35:00)
    да не сложно. но API другой. у меня, например, в параметрах запросов вдобавок можно указывать некоторые опциональные преобразования значений, которые часто нужны. вместо вызова нормализации на все данные я сделал универсальный парзер, который делает это сам. и тут уже :xxx мешать начинает. это или добавлять в свой код кучу «шумовых» вызовов, или как-то на стороне сервера заниматься сексом с тем, что пришло. оба варианта, по-моему, кривые. а если без подобного, тупо поля передавать — тогда да, тогда пусть себе серверу будет легче, не жалко.

    ---
    Understanding is not required. Only obedience.
 
Конференция "Прочее" » Идеальная потрепаловка. Какой она должна быть?
Есть новые Нет новых   [134439   +44][b:0.002][p:0.001]