|
|
|
Получение порядкового номера строки в запросе
|
|||
|---|---|---|---|
|
#18+
Lumix, видимо ты прав. последовательность действий на лицо и мне легче усваивать именно такой вид. Но мне интересно, почему я не смог воспользоваться сразу лишь одной временной таблицей. Почему она при создании сортируется неконтролируемо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2014, 23:52:38 |
|
||
|
Получение порядкового номера строки в запросе
|
|||
|---|---|---|---|
|
#18+
собственно это отсылка к 16542601 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2014, 23:54:45 |
|
||
|
Получение порядкового номера строки в запросе
|
|||
|---|---|---|---|
|
#18+
авторесли использование подобных запросов это слишком больно для твоего кода, значит с архитектурой твоего приложения что-то не так... значит что архитектура тебя слишком ограничивает... в хорошей архитектуре и не такие кренделя можно мутить и все будет комфортно... для кода это не больно, если такое использовать один раз. но если это используется многократно, и, в осносном, результат как исходные данные для последующей обработки - это не правильно. вопрос не о кренделях, за nn лет практики программирования - пришел к выводу аналогичному из самолётостроения - красивая машина - красиво летает. красивый код(не оформление) - замечательно работает. кренделя тоже работают, и молотки летают.... то, что придумал ТС, просто безобразие, твой вариант правильный, если его использовать для заполнения доп. поля. но использовать для постоянного получения промежуточного результата - слишком накладная операция, это уже в сторону ТС. тут самое оптимальное - хранимки(хранимка буде выполнять роль "триггера"), на вставку/апдейт - вычислить это доп. поле, а потом уже простыми селектами пользоваться. но это предложение - если ТС может добавить поле..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 00:12:18 |
|
||
|
Получение порядкового номера строки в запросе
|
|||
|---|---|---|---|
|
#18+
вадя, безобразие? обоснуй, пожалуйста, свое утверждение. чем именно мое решение безобразие? эт оскажется на производительности через какое-то время или что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 00:32:44 |
|
||
|
Получение порядкового номера строки в запросе
|
|||
|---|---|---|---|
|
#18+
вадя, я сделал тоже самое, что и он, просто "код получился более громоздкий". но это не влияет на время, затраченное на обработку, данные ведь те же, и алгоритм тот же. при том работает он довольно быстро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 00:34:08 |
|
||
|
Получение порядкового номера строки в запросе
|
|||
|---|---|---|---|
|
#18+
вадя, если подумать, то количество исполнений запроса на выборку рейтинга (делают пользователи) в разы превышает количество запросов на добавление рейтинга и вычисления текущего ранга (делает админ). получается использование дополнительного поля, которое вычислено заранее админом, выгоднее, чем постоянно вычислять ранг пользовательскими запросами. и еще выгоднее будет с каждым разом при разрастании таблицы с рейтингом. я правильно понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 00:39:07 |
|
||
|
Получение порядкового номера строки в запросе
|
|||
|---|---|---|---|
|
#18+
просто насчет хранимых процедур и триггеров - хостер не поддерживает, а менять его это тот еще гемор =\ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 00:40:34 |
|
||
|
Получение порядкового номера строки в запросе
|
|||
|---|---|---|---|
|
#18+
darkersoulLumix, видимо ты прав. последовательность действий на лицо и мне легче усваивать именно такой вид. Но мне интересно, почему я не смог воспользоваться сразу лишь одной временной таблицей. Почему она при создании сортируется неконтролируемо? она сортируется контроллируемо для меня просто до сих пор остается загадкой что именно ты видишь когда смотришь на sql код на данный момент лично мне кажется, что вот этот кусок ORDER by Rating_num_bets DESC просто как-то мимо твоих глаз проскакивает... я не утверждаю, что ты этого не видишь, я лишь сообщаю какое создается ощущение со стороны ещё возникает ощущение, что ты не осмысливаешь как работает код, а просто подбираешь наобум разные варианты, пока результат тебя не устроит... если ты вникнешь в суть запросов, то увидишь, что там довольно все контроллируемо просто видимо сам объем тебе сносит башню и тебе не удается увидеть картинку ситуации целиком... но это уже вопрос квалификации и опыта... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 01:00:40 |
|
||
|
Получение порядкового номера строки в запросе
|
|||
|---|---|---|---|
|
#18+
вадядля кода это не больно, если такое использовать один раз. коду вообще не может быть больно))) я имел ввиду боль для кодера если тебе такой кусок многократно с разными параметрами использовать больно, значит архитектура программы слабовата вадяно если это используется многократно, и, в осносном, результат как исходные данные для последующей обработки - это не правильно. я в принципе не готов общаться в системе координат правильно не правильно, потому что правила это категория власти и поэтому любое общение на тему правильно неправильно это просто меряться у кого длиннее и кто за ночь больше раз может кончить))) вадявопрос не о кренделях, за nn лет практики программирования - пришел к выводу аналогичному из самолётостроения - красивая машина - красиво летает. имхо не стоит путать аэродинамику и начинку рабочее место пилота - это взрыв мозга для человека, там никакой красоты нет а если брать рабочее место пилота апаче например, там вообще полный пиз..ц!! красота не имеет отношения к кодингу, тут другие категории работают вадякрасивый код(не оформление) - замечательно работает. замечательно - это тоже несуществующая категория в кодинге эта категория больше относится к управленческому и организационному миру, к отношениям между людьми вадя кренделя тоже работают, и молотки летают.... про кренделя я имел ввиду не ради понтов, а что-то типа как в фильме Экипаж для того чтобы совершить аварийную посадку и спасти людей ему пришлось перевернуть самолет кверху дном и садится не на пузо, а на крышу. я вот про что имел ввиду... вадя то, что придумал ТС, просто безобразие, твой вариант правильный, если его использовать для заполнения доп. поля. но использовать для постоянного получения промежуточного результата - слишком накладная операция, это уже в сторону ТС. тут самое оптимальное - хранимки(хранимка буде выполнять роль "триггера"), на вставку/апдейт - вычислить это доп. поле, а потом уже простыми селектами пользоваться. но это предложение - если ТС может добавить поле..... во-первых, тут ты априори решаешь задачу, которую пока никто не ставил, а именно оптимизация скорости работы во-вторых, есть сильно ненулевая вероятность, что у ТС очень низкая квалификация в области работы с БД и поэтому ему все равно такие вопросы не понятнуть поэтому исходя из реалий ситуации решение на временных таблицах в данный момент полностью подходит потом подрастет в профессиональном плане и через год другой третий научится делать более качественные решения а пока на данном этапе и такие каракули сойдут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 01:10:56 |
|
||
|
Получение порядкового номера строки в запросе
|
|||
|---|---|---|---|
|
#18+
Lumix, стооой. сортировка по Rating_num_bets здесь только для примера, чтобы видно было что rowId не привязан к юзеру! сортировка всегда по общему рейтингу по убыванию! я понимаю как работает код, но ты сам мне так и не смог ответить, как использовать одну таблицу вместо двух. мне надо лишь вычислить текущую позицию в рейтинге на основании данных из таблицы h4m_rating не используя поля-посредники. и ты почему-то до сих пор это не понял... ;\ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 01:16:42 |
|
||
|
Получение порядкового номера строки в запросе
|
|||
|---|---|---|---|
|
#18+
Lumix, не ставил вопрос об оптимизации?? ты вообще читаешь, что я пишу? раз у тебя такая большая ненулевая вероятность того, что ты суперспециалист по вопросам оптимизации запросов к БД, сообрази, пожалуйста, именно тот запрос, который устроил бы всех. от тебя я вижу только пока оценивание моих навыков, но никак не помощь. но все равно спасибо, что ответит тут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 01:24:56 |
|
||
|
Получение порядкового номера строки в запросе
|
|||
|---|---|---|---|
|
#18+
darkersoulвадя, если подумать, то количество исполнений запроса на выборку рейтинга (делают пользователи) в разы превышает количество запросов на добавление рейтинга и вычисления текущего ранга (делает админ). получается использование дополнительного поля, которое вычислено заранее админом, выгоднее, чем постоянно вычислять ранг пользовательскими запросами. и еще выгоднее будет с каждым разом при разрастании таблицы с рейтингом. я правильно понимаю? абсолютно правильно. цена добавления поля - совершенно не срвнима со стоимостью постоянных вычисленй. но если хостер не поддерживает хранимки.... это странно. тогда этот "триггер" надо организовать в коде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 06:00:15 |
|
||
|
Получение порядкового номера строки в запросе
|
|||
|---|---|---|---|
|
#18+
авторкоду вообще не может быть больно))) я имел ввиду боль для кодера если тебе такой кусок многократно с разными параметрами использовать больно, значит архитектура программы слабовата для меня проще вставить в код программы вызов хранимки с параметрами. чем формировать такую sql строку с параметрами - и разнести логику на разные части - ООП позволяет экономить и в разработке и в выполнении. авторпро кренделя я имел ввиду не ради понтов, а что-то типа как в фильме Экипаж для того чтобы совершить аварийную посадку и спасти людей ему пришлось перевернуть самолет кверху дном и садится не на пузо, а на крышу. я вот про что имел ввиду... мастерство воина оценивается на числовм выйгранных битв, числом побед, одержанных без вступления в бой. сейчас считается мастерством вождения быстро разгоняться после светофора и круто торозить перед ним...., но настоящее мастерство - проехать по городу без остановок на светофорах. авторво-первых, тут ты априори решаешь задачу, которую пока никто не ставил, а именно оптимизация скорости работы во-вторых, есть сильно ненулевая вероятность, что у ТС очень низкая квалификация в области работы с БД и поэтому ему все равно такие вопросы не понятнуть я соглашусь, что опимизацией можно пренебречь,на каком-то самом начальном этапе , когда просто идет тыканье. но в любом другом случае, а уж если чел обратился за помощью -ему надо указать варианты более оптимального решения. пусть уже сам выбирает. в итоге может оказаться, что смена хостера - более дешёвый вариант. авторя в принципе не готов общаться в системе координат правильно не правильно, потому что правила это категория власти и поэтому любое общение на тему правильно неправильно это просто меряться у кого длиннее и кто за ночь больше раз может кончить))) "правильно не правильно" - все правила создаются из практики. это метод обучения на чужих ошибках, если не следовать правилам - значит учиться на своих ошибках, а это очень длительный путь. авторимхо не стоит путать аэродинамику и начинку рабочее место пилота - это взрыв мозга для человека, там никакой красоты нет а если брать рабочее место пилота апаче например, там вообще полный пиз..ц!! красота не имеет отношения к кодингу, тут другие категории работают заблужение - красивый предмет, от красив со всех сторон и работает хорошо вседа. иначе это китайская подделка. и если рабочее место пилота апаче например, там вообще полный пиз..ц!! то мне просто жаль такой мозг, он просо не дорос до такого уровня. авторвадякрасивый код(не оформление) - замечательно работает. замечательно - это тоже несуществующая категория в кодинге эта категория больше относится к управленческому и организационному миру, к отношениям между людьми опыт и практика подсказывают, что существует такое понятие "нравится/не нравится" , и если правильный, работающий код просто не нравится, значит стоит прислушаться к этому чувству. найти код, который понравится, и (повторюсь практика и опыт) находится такой код, который позволяет решить много очень просто..... но это большое отступление от темы топика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 07:01:55 |
|
||
|
Получение порядкового номера строки в запросе
|
|||
|---|---|---|---|
|
#18+
..приятно читать когда джентельмены вежливо обсуждают незначительные разногласия в понимании процессов подхода к разработке и оптимизации кода на божественом и мелодичном языке структурных запросов. кстати о птичках , нельзя пользоватся переменными (расчет ранка) на томже уровне вложения что и групировка -- как сделано здесь 16542601 . Поэто му и пришлось сделать еше одно вложение -- или еше одну временую таблицу , как сдесь 16542740 . Это особености использования переменных, не бог весть какие сложности, но все же... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 07:23:50 |
|
||
|
Получение порядкового номера строки в запросе
|
|||
|---|---|---|---|
|
#18+
darkersoulLumix, стооой. сортировка по Rating_num_bets здесь только для примера, чтобы видно было что rowId не привязан к юзеру! сортировка всегда по общему рейтингу по убыванию! я понимаю как работает код, но ты сам мне так и не смог ответить, как использовать одну таблицу вместо двух. мне надо лишь вычислить текущую позицию в рейтинге на основании данных из таблицы h4m_rating не используя поля-посредники. и ты почему-то до сих пор это не понял... ;\ я не тебе открытым текстом сообщил, что не понимаю твою задачу, а разбираться в ней больше, чем разбирается в ней автор задачи я отказываюсь принципиально я же просил тебя сформулировать суть задачи на примере яблок, апельсинов и пр. ты отказался что типа это невозможно но на самом деле это просто отмазка, чтобы не тратить свое время я когда вижу твои огромные портянки и скриншоты мне физически не охота тратить на ковыряние в этом много времени я либо схватываю что-то за 20-30 сек, либо кладу на это болт. это ведь бесплатный форум, поэтому если хочешь получить от меня решение на чистых селектах, то сначала подай суть задачи на абстрактном простейшем примере и я тогда попомогу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 21:18:26 |
|
||
|
Получение порядкового номера строки в запросе
|
|||
|---|---|---|---|
|
#18+
darkersoulLumix, не ставил вопрос об оптимизации?? ты вообще читаешь, что я пишу? кинь ссылку где именно ты поставил задачу по оптимизации изначально у тебя была задача про "не могу составить запрос" а задача по оптимизации всегда формулируется так: "вот запрос, он работает, но тормозит, помогите его ускорить" darkersoulраз у тебя такая большая ненулевая вероятность того, что ты суперспециалист по вопросам оптимизации запросов к БД, я не суперспециалист и вот почему дело в том что наше сознание воспринимает лишь относительные величины и поэтому мозг каждого спеца для оценки собственной квалификации использует коэффициент объемЗнаю / объемНеЗнаюНоЗнаюЧтоЕсть так вот часто у новичков это коэффициент составляет 80-90% и поэтому они считают себя крутыми, но это лишь из-за того, что у них в знаменателе маленькое число а профессионал по мере роста не только увеличивает числитель, но ещё и знаменатель и поэтому получается знаменитый эффект - чем больше мы знаем, тем больше у нас ощущение, что мы очень мало знаем, а у настоящих профессионалов часто вообще возникает иллюзия что они нихрена не знают, но при этом если посмотреть на асболютные величины будет примерно так новичок: 312 / 407 = 76% профессионал: 4205 / 9210 = 45% гуру: 16205 / 97620 = 16% то есть относительно знаний новичка гуру знает в 50 раз больше, но доля его знаний относительно всех существующих знаний постоянно уменьшается darkersoulсообрази, пожалуйста, именно тот запрос, который устроил бы всех. от тебя я вижу только пока оценивание моих навыков, но никак не помощь. но все равно спасибо, что ответит тут. я готов сообразить для тебя этот запрос, если увижу, что ты инвестировал свое время и внимание в глубокое осмысление своей задачи и переформулируешь её в абстрактный кейс представь, то перед тобой стоит задача не решить твою конкретную задачу, а составить учебный пример (кейс) для учебника. ты ведь для этого обязательно уберешь все лишнее и оставишь только самую-самую суть поэтому как только сформулируешь четкую задачу, чтобы я прочитал за 20-30 сек и понял её, тогда я составлю для тебя запрос, а пока я вижу что ты для экономии своего времени просто заскриншотил запрос из phpmyadmin, без всяких отступов, в кучу в кашу, с лишними тильдиками, то у мне сразу вспоминается мультик как вовка в тридевятом царстве пирожки пек))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 21:31:01 |
|
||
|
Получение порядкового номера строки в запросе
|
|||
|---|---|---|---|
|
#18+
вадядля меня проще вставить в код программы вызов хранимки с параметрами. чем формировать такую sql строку с параметрами - если проще сделать хранимку, значит сгенерить запрос из кода сложно, больно, трудно, значит архитектура кода слабовата... я вот к чему клоню... сильная архитектура позволит сгенерить и выполнить запрос любой сложности, причем для удобного использования в сотнях разных частях программы, с учетом сайдэффектов и пр. вадяи разнести логику на разные части - ООП позволяет экономить и в разработке и в выполнении. тут не догоняю: что есть разные части? и причем тут ООП??... вадямастерство воина оценивается на числовм выйгранных битв, числом побед, одержанных без вступления в бой. кодинг это не бой а если и бой, то спортивный, типа бокса а боксе мастерство считается именно по выигранным боям вообще забавно было бы считать мастерство кодера по объему ненаписанных проектов!!!))))) по-моему все как раз наоборот... вадясейчас считается мастерством вождения быстро разгоняться после светофора и круто торозить перед ним...., если речь о стритрейсе, особенно если на деньги, то это тоже настоящее мастерство!! вадяно настоящее мастерство - проехать по городу без остановок на светофорах. если остановился на светофоре, значит не мастер по-моему глупый критерий... и помимо того, что глупый, ещё и к кодингу не относится, потому что вождение автомобиля это просто повторение однажды заученных простых движений, недаром ведь у нас в городе большиство водителей маршруток - это необразованные гастарбайтеры... вадяя соглашусь, что опимизацией можно пренебречь,на каком-то самом начальном этапе , когда просто идет тыканье. но в любом другом случае, а уж если чел обратился за помощью -ему надо указать варианты более оптимального решения. ещё одно слово с которым я отказываюсь работать: НАДО мне кажется глупым давать совет по оптимизации, если он его не просит потому что на поиск такого совета уйдет время, а может ему и не надо у меня этот навык "написан кровью" на основе опыта отработки пользовательских заказов только начнешь читать заказы литературно, с фантазией, тут же все деньги в трубу вылетят, а как только все эти свои фанатзии про оптимизацию кладешь на бумагу и проставляешь соответствующий ценник, то очень быстро оказывается, что оно и не надо заказчику... вадяпусть уже сам выбирает. в итоге может оказаться, что смена хостера - более дешёвый вариант. шутка юмора в том, что ты призываешь давать "развернутый" ответ, но сам-то его не даешь))) а видимо как начнешь сам давать, как встанет необходимость тратить свое время в разбор его каши, так сразу сильно задумаешься надо ли оптимизации искать или время жалко))))) вадя"правильно не правильно" - все правила создаются из практики. это метод обучения на чужих ошибках, если не следовать правилам - значит учиться на своих ошибках, а это очень длительный путь. есть такая поговорка: обжегшись на молоке, дуает и на воду часто на основе ощибок под воздействием боли вводят правила, которые ограничивают возможности использование любых правил - это всегда баланс между риском потерять и возможностью приобрести и эти комбинации носят субъективный характер в зависимости от степени смелости и иных особенностей человека, например, памяти, опыта, квалификации и пр. именно поэтому я и заявляю, что категория "правильно / не правильно" это всегда вопрос власти и если кто-то заявляет, что какое-то действие неправильно или правильно, то он уже как бы заявляет свою власть и требует вести дела в соответствие с его особенностями личности на мой взгляд эта категория приемлима в трудовых отношениях, когда правила устанавливает начальник или в учебных отношениях, когда правила устанавливает учитель, а когда речь идет о свободном человеке принимающем на себя всю ответственность за выбранные риски, то категория правильно / неправильно теряет свою актуальность вадяопыт и практика подсказывают, что существует такое понятие "нравится/не нравится" , опять же нравится / не нравится это вопрос власти начальник всегда прав или см. п.1))) вадяи если правильный, работающий код просто не нравится, значит стоит прислушаться к этому чувству. прислушивайся / не прислушивайся, а если кодер находится в подчиненной позиции он вынужден с таким кодом работать, а если он находится в свободной позиции, то для него правильный и нравится это синонимы и ситуации когда правильно, но не нравится такого быть не может вообще, остается только нправится/не нравится, а правильным считается все, что нравится вадянайти код, который понравится, и (повторюсь практика и опыт) находится такой код, который позволяет решить много очень просто..... мой личный опыт подсказывает, что высшие формы мастерства - это прежде всего безразличие к коду вообще, когда нравится / не нравится заменятся на такие категории как понятно / непонятно, а если непонятно, то какова скорость разбора до понимания... как-то так... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 22:28:28 |
|
||
|
Получение порядкового номера строки в запросе
|
|||
|---|---|---|---|
|
#18+
как у нас, в своё время говорили - замнём, для ясности.... но если есть желание можем встретиться - поспорить :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2014, 22:35:15 |
|
||
|
Получение порядкового номера строки в запросе
|
|||
|---|---|---|---|
|
#18+
вадякак у нас, в своё время говорили - замнём, для ясности.... но если есть желание можем встретиться - поспорить :) да это так, субботний бред на пьяную голову))) за приглашение все равно спасибо, буду знать, что есть возможность пообщаться с собратом по разуму))) если станет тоскливо от серости жизни, то можно и встретится как-нибудь, пожрать, поболтать в донне оливии например, она круглосуточная... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2014, 00:03:31 |
|
||
|
|

start [/forum/topic.php?fid=47&gotonew=1&tid=1834266]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
82ms |
get topic data: |
8ms |
get first new msg: |
11ms |
get forum data: |
1ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 218ms |
| total: | 396ms |

| 0 / 0 |
