Память меня подвела) спасибо, что поправили.
Только есть один момент, если в IMMUTABLE функцию поместить SELECT, то он же сделает выборку из таблицы, разве не так? Т.е. не обязательно, чтобы функция не работала с данными БД вообще.
Ещё иногда спасает изменение «поведения функции» (не знаю как это точно называется) IMMUTABLE | STABLE | VOLATILE. По умолчанию все функции VOLATILE, что является самым надёжных/безопасным поведением с точки зрения отстреливания себе конечностей. Но в циклах VOLATILE очень медленный.
Как правило, если функция не изменяет данные, а только читает их и не выполняется в циклах вместе с попутным изменением данных, то можно смело ставить IMMUTABLE и функция будет выполнятся только один раз при первом обращении в цикле, далее значение «закэшируется» и повторный вызов функции вернёт значение из «кэша». Тоже позволяло в некоторых случаях уменьшить время выполнения запросов.
P.S.: А у меня появилось желание пощупать «fill factor» =)
Вспомнил один хороший рецепт для PG.
Как известно, для регистронезависимого поиска в PG есть ILIKE. Ещё известно, что он значительно медленнее, чем просто LIKE.
Я в своё время нашёл вот такой рецепт:
Очевидная часть рецепта: Поле по которому осуществляется поиск надо обязательно проиндектировать.
Не очень очевидная часть рецепта:
1) В индексе установить operator class = text_pattern_ops
2) Сделать индекс функциональным LOWER/UPPER(text)
3) Осуществлять поиск при помощи LIKE LOWER/UPPER(text)
У нас при работе с КЛАДРом скорость выборки выросла раз в 10, по сравнению с голым ILIKE и обычным индексом с настройками по-дефолту.
Есть механизм от ETA, называется, на сколько мне не изменяет память «Powermatic 80», там запас хода 80 часов. Кажется, базовый механизм там 2824, один из самых дешевых механизмов с автоподзаводом. У базового механизма, на сколько мне не изменяет память, запас хода 38 часов.
Если взять Powermatic 80, то это более трёх суток автономной работы.
Скорее всего маркетологи локализовали название, чтобы «лучше продавалось». Естественно, их мнение весьма субъективно, но имеет наибольший вес. Скорее всего, маркетологи приложили руку только к обложке и названию.
И на фоне того как локализуют названия фильмов в России, эта локализация названия книги ещё очень даже не плоха)
Всё круто, но:
Сначала не смог играть потому, что не хотел регистрироваться через социальные сети.
Потом меня попросило ввести дату рождения, просто ткнул первую попавшуюся цифру, теперь не могу поменять.
В связи с этим, прошу ввести возможность регистрации не через социальные сети и возможность изменить дату рождения.
Идея просто супер! Просто обожаю фотографии молний, а тут ещё и её форма в 3D!
Сделал вам небольшой подарок, автомобильный аккумулятор не купишь, конечно, но всё же)
Может откроете на хабре свою компанию? Думаю, что руководство вам пойдёт на встречу. Так вы сможете привлечь больше внимания и денег, а как следствие и быстрее развиваться, собирать больше данных, удивлять нас ещё больше!)
Просто когда я первый раз увидел название _магазина_, я подумал, что они реально доменами торгуют. Подумал ещё, зачем вся эта заморочка для продажи их офлайн. Я был с другом, пошутил на эту тему, а тот мне сказал, что это просто магазин электроники с очень неудачным названием. Вот как-то так я про этот магазин и узнал=)
New relic — это же не веб-аналитика (по крайней мере в основном), а средство мониторинга своих серверов (веб-серверы, СУБД и т.п.) и приложений. Тяжело представить как New relic сможет заменить я.метрику…
Мы используем New relic, но далеко не для веб-аналитики, для неё у нас есть Google Analitics.
Не посмотрел дату поста)
Только есть один момент, если в IMMUTABLE функцию поместить SELECT, то он же сделает выборку из таблицы, разве не так? Т.е. не обязательно, чтобы функция не работала с данными БД вообще.
Как правило, если функция не изменяет данные, а только читает их и не выполняется в циклах вместе с попутным изменением данных, то можно смело ставить IMMUTABLE и функция будет выполнятся только один раз при первом обращении в цикле, далее значение «закэшируется» и повторный вызов функции вернёт значение из «кэша». Тоже позволяло в некоторых случаях уменьшить время выполнения запросов.
P.S.: А у меня появилось желание пощупать «fill factor» =)
Как известно, для регистронезависимого поиска в PG есть ILIKE. Ещё известно, что он значительно медленнее, чем просто LIKE.
Я в своё время нашёл вот такой рецепт:
Очевидная часть рецепта: Поле по которому осуществляется поиск надо обязательно проиндектировать.
Не очень очевидная часть рецепта:
1) В индексе установить operator class = text_pattern_ops
2) Сделать индекс функциональным LOWER/UPPER(text)
3) Осуществлять поиск при помощи LIKE LOWER/UPPER(text)
У нас при работе с КЛАДРом скорость выборки выросла раз в 10, по сравнению с голым ILIKE и обычным индексом с настройками по-дефолту.
Есть механизм от ETA, называется, на сколько мне не изменяет память «Powermatic 80», там запас хода 80 часов. Кажется, базовый механизм там 2824, один из самых дешевых механизмов с автоподзаводом. У базового механизма, на сколько мне не изменяет память, запас хода 38 часов.
Если взять Powermatic 80, то это более трёх суток автономной работы.
И на фоне того как локализуют названия фильмов в России, эта локализация названия книги ещё очень даже не плоха)
Сначала не смог играть потому, что не хотел регистрироваться через социальные сети.
Потом меня попросило ввести дату рождения, просто ткнул первую попавшуюся цифру, теперь не могу поменять.
В связи с этим, прошу ввести возможность регистрации не через социальные сети и возможность изменить дату рождения.
Спасибо)
Сделал вам небольшой подарок, автомобильный аккумулятор не купишь, конечно, но всё же)
Может откроете на хабре свою компанию? Думаю, что руководство вам пойдёт на встречу. Так вы сможете привлечь больше внимания и денег, а как следствие и быстрее развиваться, собирать больше данных, удивлять нас ещё больше!)
Меня всегда удивляло, кто додумался назвать магазин DNS (а теперь ещё и электронику)? И что значит эта аббревиатура?
Меня всегда удивляло, кто додумался назвать магазин DNS (а теперь ещё и электронику)? И что значит эта аббревиатура?
Мы используем New relic, но далеко не для веб-аналитики, для неё у нас есть Google Analitics.