<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Для PostgreSQL представлена реализация условных индексов</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/103308.html</link>
    <description>Представлен (http://www.postgresql.org/about/news/1593/) первый релиз расширения HypoPG (https://github.com/dalibo/hypopg) с реализацией условных (hypothetical) индексов для PostgreSQL. Суть условного индекса в том, что он отсутствует на диске и создаётся мгновенно в момент использования, не создавая дополнительную нагрузку на ввод/вывод и не отнимая время на создание индекса и его сопровождение. Одним из назначений условных индексов является предварительная оценка выбранного метода индексирования до фактического создания полноценного индекса. Например, можно создать условный индекс и при помощи вызова EXPLAIN проверить применяется ли он для тех или иных запросов.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;URL: http://www.postgresql.org/about/news/1593/&lt;br&gt;Новость: http://www.opennet.ru/opennews/art.shtml?num=42500&lt;br&gt;</description>

<item>
    <title>Для PostgreSQL представлена реализация условных индексов (orgkhnargh)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/103308.html#21</link>
    <pubDate>Fri, 26 Jun 2015 14:11:52 GMT</pubDate>
    <description>Чуть не перепутал с partial index.&lt;br&gt;</description>
</item>

<item>
    <title>Для PostgreSQL представлена реализация условных индексов (rob pike)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/103308.html#20</link>
    <pubDate>Fri, 26 Jun 2015 08:36:09 GMT</pubDate>
    <description>И приделать ему телепатию чтобы он знал что такое оптимальный запрос для наших конкретных условий.&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Для PostgreSQL представлена реализация условных индексов (близняшко)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/103308.html#19</link>
    <pubDate>Fri, 26 Jun 2015 08:25:59 GMT</pubDate>
    <description>в других субд есть такая методика, capture missing index/statistics.&lt;br&gt;</description>
</item>

<item>
    <title>Для PostgreSQL представлена реализация условных индексов (uze)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/103308.html#18</link>
    <pubDate>Fri, 26 Jun 2015 06:36:14 GMT</pubDate>
    <description>EXTERMINATE&lt;br&gt;</description>
</item>

<item>
    <title>Для PostgreSQL представлена реализация условных индексов (Аноним)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/103308.html#17</link>
    <pubDate>Thu, 25 Jun 2015 23:24:05 GMT</pubDate>
    <description>Да лучше бы пакеты запилили&lt;br&gt;</description>
</item>

<item>
    <title>Для PostgreSQL представлена реализация условных индексов (None)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/103308.html#16</link>
    <pubDate>Thu, 25 Jun 2015 22:06:34 GMT</pubDate>
    <description>следующий шаг - сделать так, чтоб analyze говорил, где ему не хватает индексов и материализованных вьюшек для создания оптимального запроса&lt;br&gt;</description>
</item>

<item>
    <title>Для PostgreSQL представлена реализация условных индексов (Crazy Alex)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/103308.html#15</link>
    <pubDate>Thu, 25 Jun 2015 21:11:17 GMT</pubDate>
    <description>Получится так, как будет в инструкции к ORM. Да, с какого-то момента - звать DBA. Но если этот момент отодвинуть - это значит, что для определённого процента проектов он не наступит вообще никогда.&lt;br&gt;&lt;br&gt;А в ассемблере - слабо представляю ручное раскидывание параметров и переменных по регистрам на сколько-нибудь большом объёме кода. SIMD - это там, где надо обрабатывать большие однородные массивы, а этого, как, ни странно, не так уж много. А где обычный код - с кучей веток исполнения, небольшими функциями, тремя-четырьмя уровнями индирекшна - там как раз компилятору раздолье, а людям делать нечего. О PGA и прочих JIT-оптимизациях я и не говорю. Когда начинается многопоточность со всеми memory barriers и прочим - тем более невелика радость.&lt;br&gt;&lt;br&gt;По поводу ссылки - у игроделов все SIMD и ассемблеры закончатся ровно там, где начнётся AI. Не только потому, что его в половине случаев вообще на скриптах пишут, но и потому, что там обычно вагон условий и сравнительно мало молотилок чисел.&lt;br&gt;</description>
</item>

<item>
    <title>Для PostgreSQL представлена реализация условных индексов (rob pike)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/103308.html#14</link>
    <pubDate>Thu, 25 Jun 2015 21:01:33 GMT</pubDate>
    <description>&amp;gt; Похоже на попытку использовать какой то костыль вместо того чтобы включить мозги&lt;br&gt;&lt;br&gt;Примерно 99&#037; развития IT в этом и заключается.&lt;br&gt;</description>
</item>

<item>
    <title>Для PostgreSQL представлена реализация условных индексов (rob pike)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/103308.html#13</link>
    <pubDate>Thu, 25 Jun 2015 20:41:33 GMT</pubDate>
    <description>Ну вот только для ORM разве что. Получится, правда, всё равно как всегда - ANALYZE никто делать не будет, статистику крутить не будет, половина индексов будут медленнее seqscan-а. Зато можно написать &quot;наш ORM умеет ого-го, приходить в сознание с ним вообще необязательно&quot;. Потом всё равно звать DBA со стороны и платить $200 в час чтоб как-то заворочалось.&lt;br&gt;&lt;br&gt;С ассемблером всё осталось ровно так же, потому что замок эволюционирует не медленней ключа. &lt;br&gt;Во-первых, современный Haswell - он уже сильно умнее Сишного компилятора во многих местах (если не сказать &quot;во всех&quot;), причём недетерминированность проявляется и в этом - то есть оптимизация превращается в угадайку - кто угадал насколько тупого кода ему надо в этом конкретном месте с этими конкретными данными, чтобы он сказал &quot;ага! я знаю этот паттерн!&quot; и оптимизировал, тот и молодец. Что в подавляющем большинстве случаев выражается в практичности подхода &quot;всё что мы можем осмысленно сделать - это добиться того чтобы этот чанк кода помещался в кэш&quot; (ну и выложить</description>
</item>

</channel>
</rss>
