|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2019, 15:50 |
|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
Типичный хабаровский бред. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2019, 16:11 |
|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, гм, в разделе "Плохая оптимизация OR" - сначала он строит 4 странных композитных индекса, которые, как ему кажется, "должны работать" (вместо четырех одиночных по столбцам a, b, c, d), а потом удивляется, почему оптимизаторы "их не берут". ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 00:57 |
|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
kdvDimitry Sibiryakov, гм, в разделе "Плохая оптимизация OR" - сначала он строит 4 странных композитных индекса, которые, как ему кажется, "должны работать" (вместо четырех одиночных по столбцам a, b, c, d), а потом удивляется, почему оптимизаторы "их не берут". Чем четыре одиночных индекса по столбцам тут должны помочь? Вы же понимаете что найти a=5 AND b=6 при индексе по (a,b) можно гораздо быстрее, чем при двух индексах (a) и (b)? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 09:37 |
|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
Nitro_JunkiekdvDimitry Sibiryakov, гм, в разделе "Плохая оптимизация OR" - сначала он строит 4 странных композитных индекса, которые, как ему кажется, "должны работать" (вместо четырех одиночных по столбцам a, b, c, d), а потом удивляется, почему оптимизаторы "их не берут". Чем четыре одиночных индекса по столбцам тут должны помочь? Вы же понимаете что найти a=5 AND b=6 при индексе по (a,b) можно гораздо быстрее, чем при двух индексах (a) и (b)? Только его запрос не про это. Это передёргивание. Есть запрос и есть индексы, которые запрос не использует. А виноват сервер. Я думаю, программисты, занимающие планировщиком SQL-запросов сервера, делают всё возможное. Но человек, который создаёт схему данных и т.д., должен же себе отдавать отчёт, что он хочет. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 10:08 |
|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
KreatorXXINitro_Junkieпропущено... Чем четыре одиночных индекса по столбцам тут должны помочь? Вы же понимаете что найти a=5 AND b=6 при индексе по (a,b) можно гораздо быстрее, чем при двух индексах (a) и (b)? Только его запрос не про это. Это передёргивание. Есть запрос и есть индексы, которые запрос не использует. А виноват сервер. Я думаю, программисты, занимающие планировщиком SQL-запросов сервера, делают всё возможное. Но человек, который создаёт схему данных и т.д., должен же себе отдавать отчёт, что он хочет. Там достаточно простой тезис. SQL сервера выполняют логические условия как есть, не пытаясь особо их оптимизировать. То есть как и в остальных пунктах перекладывая задачу оптимизации на разработчика, тем самым повышая трудозатраты и порог вхождения. А заодно и риск выстрелить себе в ногу. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 10:13 |
|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
Nitro_Junkie, вовсе не обязательно. Они пытаются сделать всё что можно. З.Ы. Читал статью. Такое ощущение что автор старается сделать себе больно специально. Те кто понимают как работает конкретная СУБД никогда не будут писать так как описано в статье. Да это может сделать нечаянно некая ORM, но никак не вменяемый разработчик пишущий прямые SQL запросы. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 11:59 |
|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
Симонов ДенисNitro_Junkie, вовсе не обязательно. Они пытаются сделать всё что можно. З.Ы. Читал статью. Такое ощущение что автор старается сделать себе больно специально. Те кто понимают как работает конкретная СУБД никогда не будут писать так как описано в статье. Да это может сделать нечаянно некая ORM, но никак не вменяемый разработчик пишущий прямые SQL запросы. Так откуда разработчик должен знать что умеет оптимизировать конкретная СУБД или нет. Во-первых, это параметр изменяющийся во времени, а во-вторых, весь смысл оптимизаторов в том, чтобы не знать как они работают. Иначе нахрена они нужны, если я захочу все сделать руками, я сделаю это на ассемблере. Правда только совсем глупый работодатель это оплатит. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 12:10 |
|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
Nitro_JunkieВы же понимаете что найти a=5 AND b=6 при индексе по (a,b) можно гораздо быстрее, чем при двух индексах (a) и (b)? А Вы понимаете, что AND и OR это две очень большие разницы? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 12:49 |
|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
авторПри этом речь в статье пойдет не о «вкусах и цветах фломастеров». Все затрагиваемые проблемы носят фундаментальный характер: присутствуют при разработке практически любой информационной системы и не ограничиваются «красотой кода», а в той или иной степени приводят либо к критическому падению производительности, либо к существенному росту порога вхождения, либо к значительным трудозатратам со стороны разработчика.. ну, я я как то не дочитал, а там альтернатива, в которой фундаментальных проблем меньше, представлена? То есть не этих нет, а во всех отношениях лучше и удобнее? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 12:56 |
|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
Nitro_JunkieТак откуда разработчик должен знать что умеет оптимизировать конкретная СУБД или нет. Во-первых, это параметр изменяющийся во времени, а во-вторых, весь смысл оптимизаторов в том, чтобы не знать как они работают. Иначе нахрена они нужны, если я захочу все сделать руками, я сделаю это на ассемблере. Правда только совсем глупый работодатель это оплатит. Если это была попытка набросить на вентилятор - то Ок, принимается :-) А если сказано всерьез, то гнать такого разработчика нужно несвежими носками подальше от сервера СУБД. Во всяком случае от продуктивной среды. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 13:48 |
|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
Vladimir Baskakov, ну в статье явного указания на альтернативу нет, но если присмотреться, то они пиарят некий lsFusion ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 13:54 |
|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovNitro_JunkieВы же понимаете что найти a=5 AND b=6 при индексе по (a,b) можно гораздо быстрее, чем при двух индексах (a) и (b)? А Вы понимаете, что AND и OR это две очень большие разницы? К чему вы это? Там в разделе достаточно подробно расписано, как запрос надо оптимизировать, чтобы он быстро выполнялся. И там нужны именно индексы по двум полям, индексами по одному полю там никак не обойтись. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 14:33 |
|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
witteNitro_JunkieТак откуда разработчик должен знать что умеет оптимизировать конкретная СУБД или нет. Во-первых, это параметр изменяющийся во времени, а во-вторых, весь смысл оптимизаторов в том, чтобы не знать как они работают. Иначе нахрена они нужны, если я захочу все сделать руками, я сделаю это на ассемблере. Правда только совсем глупый работодатель это оплатит. Если это была попытка набросить на вентилятор - то Ок, принимается :-) А если сказано всерьез, то гнать такого разработчика нужно несвежими носками подальше от сервера СУБД. Во всяком случае от продуктивной среды. Где же вы столько "правильных" разработчиков найдете? Не, я понимаю если вы работаете по найму, дефицит разработчиков может быть выгоден, но если вы заказчик или подрядчик, все с точностью наоборот. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 14:39 |
|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovТипичный хабаровский бред. сказал человек с форума где 90% тем это "как мне правильно сделать Merge" ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 15:40 |
|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovТипичный хабаровский бред. Это же "Блог компании lsFusion", его пишут чтобы поднять статус компании, получить известность. Статья действительно ну...как бы бесполезная, не чтобы прочиьать, а чтобы НАПИСАТЬ. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 16:34 |
|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
БумбарашDimitry SibiryakovТипичный хабаровский бред. сказал человек с форума где 90% тем это "как мне правильно сделать Merge" Гы, он-то чем виноват, что он с этого форума? Дмитрий в общем -- хороший специалист, грамотный. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 16:36 |
|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
MasterZivон-то чем виноват, что он с этого форума? Меня больше заинтересовал вопрос какой именно из обитаемых мною форумов Бумбараш посчитал так, что 90% топиков получилось про Merge. bid 3?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 16:45 |
|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovMasterZivон-то чем виноват, что он с этого форума? Меня больше заинтересовал вопрос какой именно из обитаемых мною форумов Бумбараш посчитал так, что 90% топиков получилось про Merge. bid 3?.. Да ладно. Тут большую часть топиков почитаешь, так люди nested loop join от hash join'а не отличают, какой нафиг join predicate push down. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 17:10 |
|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
Nitro_JunkieТак откуда разработчик должен знать что умеет оптимизировать конкретная СУБД или нет. Во-первых, это параметр изменяющийся во времени, а во-вторых, весь смысл оптимизаторов в том, чтобы не знать как они работают. Иначе нахрена они нужны, если я захочу все сделать руками, я сделаю это на ассемблере. Правда только совсем глупый работодатель это оплатит. Если ты разрабатываешь под конкретную СУБД, то должен знать её хотя бы на среднем уровне. В конце концов запросы проверяются, можно посмотреть планы, переписать запросы, создать индексы и т.д. В целом ещё не было ни одного случая, чтобы не находилось решения которое устраивает по быстродействию. И кстати nested loop join это не всегда плохо. Если делаешь сразу под несколько СУБД что-то сложное, то скорее всего нормально не будет работать ни в одной. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 21:57 |
|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
Симонов ДенисИ кстати nested loop join это не всегда плохо. А вы, кстати, зачем это сказали? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2019, 00:57 |
|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
Бумбараш, статью что читал? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2019, 06:50 |
|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
Nitro_JunkieТак откуда разработчик должен знать что умеет оптимизировать конкретная СУБД или нет. Во-первых, это параметр изменяющийся во времени, а во-вторых, весь смысл оптимизаторов в том, чтобы не знать как они работают. Иначе нахрена они нужны, если я захочу все сделать руками, я сделаю это на ассемблере. Правда только совсем глупый работодатель это оплатит. В теме по MS SQL посоветовали материализацию count(*) на млрд записях, ранее заявленную как круто работающую, сделать в пару слегка неадекватных прыжков. Откуда разработчик должен знать о том, как работает данных фреймворк и что надо так глумиться над ним? И вооще, фреймворки/ОРМ - штука на порядок более распространенная ввиду того, что множество неосиливших SQL огромно и почти каждый из этого множества считает своим долгом запилить свой мегафреймворк для "вааще любой СУБД". А раз распространенная, значит и существенно чаще утилизируемая. А вот работодателю интересно подсадить работника на уникальный с минимальным количеством вакансий фреймворк, чтобы он потом не сбежал куда, где кормят лучше. Ибо нахрен не нужен спец, который хорошо знает что-то никому никуда не упирающееся... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2019, 07:54 |
|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
Симонов ДенисЕсли делаешь сразу под несколько СУБД что-то сложное, то скорее всего нормально не будет работать ни в одной. Вообще статья как раз про это, и про то как обходить проблемы, чтобы система нормально работала на всех СУБД. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2019, 08:48 |
|
Интересный взгляд на проблему сравнения
|
|||
---|---|---|---|
#18+
andy stВ теме по MS SQL посоветовали материализацию count(*) на млрд записях, ранее заявленную как круто работающую, сделать в пару слегка неадекватных прыжков. Откуда разработчик должен знать о том, как работает данных фреймворк и что надо так глумиться над ним? Тут вообще-то не две крайности, все руками и все автоматически. Есть полутона. Хотя конечно если бы платформа сама умела разбивать материализации на неконкурентные, и вообще сама умела бы их создавать было бы гораздо круче. Но лучшее как известно враг хорошего. andy stА вот работодателю интересно подсадить работника на уникальный с минимальным количеством вакансий фреймворк, чтобы он потом не сбежал куда, где кормят лучше. Ибо нахрен не нужен спец, который хорошо знает что-то никому никуда не упирающееся... Я, например, за последние 5 лет работал с : 1. Groovy под Jenkins 2. Java - бэкенд, десктоп 3. JavaScript + React, Java + GWT - фронтенд 4. NSIS - инсталлятор 5. ANTLR, GrammarKit + IDEA - работа с языками интерпретаторы, IDE 6. PHP + October CMS - когда на сайт надо было подключить сложную функциональность, которую отдавать разработчикам сайтов себе дороже и явно упустил еще с пяток фреймворков и языков. Вообще в современном мире где пять лет назад никто не слышал про React и NoSQL, а технологии меняются раз в 3 года, умение разбираться в них по сути единственный важный навык программиста. И человек, который не умеет этого делать а сфокусирован на конкретных технологиях - херовый программист. Я например в резюме на предыдущий опыт вообще не смотрю, потому как хорошо знаю, что человек с мозгами вообще без опыта в технологии через 3 месяца может быть гораздо полезнее на проекте, чем человек с 10+ лет опыта, который не умеет систематизировать информацию и составлять общую картину. И бизнесу нужны люди умеющие решать проблемы, а не с длинным резюме. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2019, 08:58 |
|
|
Start [/forum/topic.php?fid=35&tid=1552191]: |
0ms |
get settings: |
31ms |
get forum list: |
9ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
81ms |
get topic data: |
79ms |
get forum data: |
5ms |
get page messages: |
1583ms |
get tp. blocked users: |
2ms |
others: | 198ms |
total: | 2000ms |
0 / 0 |