Ш̴̴̜̥͍͕̼̙̱͙͎͍̘̀̐̔́̾̃͒̈̔̎́́͜р̧̛̺͖͖̯̖ͧͤ͋̅̽ͧ̈̐̽̆̐͋ͤͦͬ͛̃̑͞͞и̒ͥͤͯ͂ͣ̐̉̑ͫ̉̑҉̛͏̸̻͕͇͚̤͕̯̱̳͉ͅф̴̴̡̟̞͙̙̻͍̦͔̤̞̔̓́̍͗̚͢͞ͅт̨̐ͫ̂͊̄̃ͥͪ͏̫̺͍̞̼͈̩̥̜͔͜͜ы̸̴̱̺̼̠̦͍͍͍̱̖͔̖̱͉̅͑͌͒ͫ͒̀ͥ͐ͤ̅͘̕.̵̴̡̭̼̮͖͈̙͖͖̲̮̬͍͙̼̯̦̮̮ͦ̆̀̑̌ͮͧͣͯ̔̂́͟г͌ͮ̏̈͂ͯ̚҉̛̙̬̘̲̗͇͕̠̙͙̼̩͚̀͘͞ͅо̷̥̯̘̓ͤ̽͒̋̉̀̂̄̒̓̊ͨ͛́̌ͤ̂̀͠в̶̒͒̓̏̓̚҉̛̙̘̺̰̮̼̟̼̥̟̘̠̜͜н̸̷̸̲̝͈͙̰̟̻̟̰̜̟̗͎̻̻͍̿̔̃ͨ͑о̔̀̋ͫ̇̿̐ͫ͌͗ͩ҉̨̜̙̙͈͍̮̮̼̙̘̞̕͜͡ Войти !bnw Сегодня Клубы
УНЯНЯ. У нас есть немножечко инфы об этом пользователе. Мы знаем, что он понаписал, порекомендовал и даже и то и другое сразу. А ещё у нас есть RSS.
Теги: Клубы:

с приходом упсерта делать нелепые уровни нормализации стало просто как никогда
#Q41QZ0 (1) / @komar / 2567 дней назад
«Меняй кучу строк в транзакции в несколько потоков и не уебись в дедлок» (игра для всей семьи)
#NFPOMC (2) / @komar / 2577 дней назад
Совет дня: никогда не пихайте NULL там, где можно без нарушения логики сделать NOT NULL DEFAULT 0/1970-01-01 00:00:00/'' Особенно если планируется потом индекс сверху городить.
#ZH8CJQ (13) / @komar / 2629 дней назад
Совет дня: не используй NULLS FIRST/LAST, когда можно COALESCE.
#0BDRDT (2) / @komar / 2700 дней назад
HASH ANTI JOIN как это работает, сука
#23LV8X (3) / @komar / 2706 дней назад
Давайте поиграем в игру. Есть таблицы t1 и t2. В каждой есть колонка text. Нужно в t1.text || t2.text искать LIKE %a% AND LIKE %b% AND LIKE %c%..., причем сколько этих AND будет — непонятно. Ну, ничего сложного — делаем джоин, в селекте делаем конкатенацию, все это запихиваем в подзапрос и сверху хуярим наши WHERE-лайки. Однако записей становится дохуя и все начинает тормозить. По очевидным причинам индексы нихуя не помогают. Как выебнуться в этом случае, не прибегая к денормализации и мужеложеству?
#GPWDNM (22) / @komar / 2772 дня назад
проблема: ваши джоины выглядят хуево возможная причина: вы слишком хуево нормализовали схему
#ENR6HZ (0) / @komar / 2793 дня назад
Всегда делай таблицы с айдишниками. Даже если они там ни в пизду не вперлись. Если кажется, что они не нужны — значит, ты просто еще не знаешь, для чего они будут тебе нужны через полгода. Ну а если заебут — удалишь, все равно в коде инсертов их нет. И под айдишниками я подразумеваю обычную хуергу, которая выдается по счетчику. Если рядом есть какой-нибудь UUID — все равно нужен айдишник.
#LOA9Q7 (43+2) / @komar / 2843 дня назад
Совет дня: пиздите тех, кто предлагает «просто сделать полиморфную связь».
#XWVGK5 (10) / @komar / 3081 день назад
Объяснил постороннему человеку, как работает VACUUM и VACUUM FULL. Человек обосрался. Стыдно теперь че-то.
#PN0UME (10) / @komar / 3280 дней назад
Многие вещи в базе данных становятся гораздо проще, если ввести иммутабельные (а то и неудаляемые) строки. Главное не переусердствовать, а то место на харде закончится.
#PZV5XT (6) / @komar / 3318 дней назад
=> SELECT NULL UNION ALL SELECT 1; (2 rows) => SELECT NULL UNION ALL SELECT NULL UNION ALL SELECT 1; ERROR: UNION types text and integer cannot be matched => SELECT pg_typeof(t.t) FROM (SELECT NULL AS t UNION ALL SELECT NULL AS t) t; text text нул юнион нул у него текст вывод типов уровня постгреса
#GQPAQM (1) / @komar / 3444 дня назад
UNION ... LIMIT в постгресе работает восхитительно: > EXPLAIN ANALYZE SELECT y FROM test WHERE x = 66 LIMIT 10; Total runtime: 0.146 ms > EXPLAIN ANALYZE (SELECT y FROM test WHERE x = 66) UNION (SELECT y FROM test WHERE x = 67) LIMIT 10; Total runtime: 86.011 ms Но зато: > EXPLAIN ANALYZE (SELECT y FROM test WHERE x = 66) UNION ALL (SELECT y FROM test WHERE x = 67) LIMIT 10; Total runtime: 0.183 ms
#8O4TKW (4) / @komar / 3444 дня назад
EXPLAIN ANALYZE SELECT max(y) FROM test WHERE x = 66; Total runtime: 0.124 ms EXPLAIN ANALYZE SELECT max(y) FROM test WHERE x = 66 GROUP BY x; Total runtime: 29.157 ms EXPLAIN ANALYZE SELECT max(y) FROM test WHERE x IN (SELECT generate_series (1,1) as x); Total runtime: 1908.248 ms ЭСКУЭЛЬ ДЕКЛАРАТИВНЫЕ ЗАПРОСЫ ОПТИМИЗАЦИИ АНАЛИТИЧЕСКИЕ БАЗЫ ДАННЫХ КОКОКОКОКО
#6LCZZ0 (5) / @komar / 3450 дней назад
Почему нет RDBMS, написанных на фукнциональных языках™? В конце-концов, кого ебет оверхед — всех ебет сложность запросов и надежность. С надежностью все понятно, ну а оптимизировать запросы при помощи сишечки — это ведь охуеть можно. А ведь половина увиденных мною жалоб (и половина моих собственных) на постгрес — это «вот тут можно оптимизацию, а ее не запилил, суки ленивые». Доколе?
#WGFVIU (315+3) / @komar / 3503 дня назад
Наконец-то осознал, с чем связан успех mongodb: купить серверов и шардить намного проще, чем нанять DBA. Ну и из этого становится очевидно, почему такая стратегия обречена на пиздец.
#569WN3 (16) / @komar / 3505 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.