<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Раздел полезных советов: Рекомендации по оптимальному исполь...</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/77709.html</link>
    <description>Материал основан на рекомендациях, данных в книге &quot;MySQL Оптимизация производительности&quot;, в которой подробно рассказано почему каждая рекомендация работает так, а не иначе. В заметке лишь приведены ключевые моменты, в стиле &quot;Делайте так!&quot;. Все нижесказанное будет относиться к MySQL 5.1 и выше. Движок InnoDB. Для MyISAM также верно почти все нижесказанное.&lt;br&gt;&lt;br&gt;Прежде чем говорить о типах, рекомендация относительно &#091;&#091;B&#093;&#093;NULL/ NOT NULL&#091;&#091;/B&#093;&#093;. Наличие флага NULL, увеличивает объем данных при хранении на диске. И немного нагружает индексы. Определяйте типы полей как NOT NULL, и указывайте DEFAULT VALUE. Большой выигрыш в производительности это не даст, но как говорится &quot;Копейка рубль бережет&quot;.&lt;br&gt;&lt;br&gt;&#091;&#091;B&#093;&#093;UUID&#091;&#091;/B&#093;&#093;  - удалите тире или преобразуйте в 16 байтовые числа UNHEX() и сохранить в столбце BIN(16). Извлекать данные в шестнадцатеричном формате можно с помощью MySQL функции HEX().&lt;br&gt;&lt;br&gt;&#091;&#091;B&#093;&#093;IP&#091;&#091;/B&#093;&#093; адреса лучше всего хранить как UNSIGNED INT. И использовать MySQL функции INET_ATON() и INET_NTOA()&lt;br&gt;&lt;br&gt;И так, наиболе</description>

<item>
    <title>Рекомендации по оптимальному использованию типов данных в MySQL (Дмитрий)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/77709.html#28</link>
    <pubDate>Fri, 06 Nov 2015 00:15:18 GMT</pubDate>
    <description>Вот кстати IPv6 хранить в BINARY(16), есть специальные функции для работы с ними&lt;br&gt;https://intsystem.org/coding/kak-rabotat-s-ipv6-v-php/&lt;br&gt;&lt;br&gt;INET6_ATON(expr) и INET6_NTOA(expr), но они доступны с версии MySQL 5.6.3. До этой версии есть специальное расширение.&lt;br&gt;</description>
</item>

<item>
    <title>Рекомендации по оптимальному использованию типов данных в MySQL (Сергей)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/77709.html#27</link>
    <pubDate>Fri, 24 Jun 2011 22:15:16 GMT</pubDate>
    <description>Не все пишут программы для работы в Интернет. Есть программы сбора данных для локальных сетей. Использовать IPv6 в этом случае неразумно, а тратить +12 байт впустую просто глупо - будет БД из одних IP.&lt;br&gt;</description>
</item>

<item>
    <title>Рекомендации по оптимальному использованию типов данных в MySQL (COBA)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/77709.html#26</link>
    <pubDate>Thu, 23 Jun 2011 20:39:29 GMT</pubDate>
    <description>А зачем? а чтобы выдать допустим следующий ip клиенту. Это довольно частая операция для провайдеров.&lt;br&gt;</description>
</item>

<item>
    <title>Рекомендации по оптимальному использованию типов данных в MySQL (ws)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/77709.html#25</link>
    <pubDate>Mon, 20 Jun 2011 14:46:49 GMT</pubDate>
    <description>&amp;gt; Что вы чушь несёте. Стек использует бинарные строки, но никак не ЗНАКОВЫЕ &lt;br&gt;&amp;gt; целые &lt;br&gt;&lt;br&gt;За знаковые я ничего не говорил, а говорил за целы числа! Для вас есть замечательная команда для посвящения:&lt;br&gt;&lt;br&gt;man inet_pton&lt;br&gt;&lt;br&gt;И вот цитата из него:&lt;br&gt;&quot;&lt;br&gt;AF_INET&lt;br&gt;              src points to a character string containing an IPv4 network address in dotted-decimal format, &quot;ddd.ddd.ddd.ddd&quot;, where  ddd  is  a  decimal&lt;br&gt;              number  of  up  to  three  digits  in  the  range  0 to 255.  The address is converted to a struct in_addr and copied to dst, which must be&lt;br&gt;              sizeof(struct in_addr) (4) bytes (32 bits) long.&lt;br&gt;&quot;&lt;br&gt;&lt;br&gt;Думаю сами переведете...&lt;br&gt;</description>
</item>

<item>
    <title>Рекомендации по оптимальному использованию типов данных в MySQL (Stax)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/77709.html#24</link>
    <pubDate>Sun, 19 Jun 2011 01:39:13 GMT</pubDate>
    <description>Я не понимаю, что такое &quot;максимальный IP&quot;. IP это просто адрес, из четырех чисел, если ipv4. Как вы у адреса определяете, какой больше и какой меньше? И главное, зачем?&lt;br&gt;&lt;br&gt;А для IPv6 вы считаете, что ipv6-in-ipv4 сегмент 2002:: это &quot;больше&quot; и лучше, чем нативные 2001:: адреса? Примерно такая логика?&lt;br&gt;</description>
</item>

<item>
    <title>Рекомендации по оптимальному использованию типов данных в MySQL (Антоним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/77709.html#23</link>
    <pubDate>Sat, 18 Jun 2011 20:06:50 GMT</pubDate>
    <description>&amp;gt; эй, чудик, что хранит ip в char, отсортируй-ка их по возрастанию..&lt;br&gt;&lt;br&gt;легко, если хранить в HEX. Там же можно делать и выборкии по диапазонам. &lt;br&gt;</description>
</item>

<item>
    <title>Рекомендации по оптимальному использованию типов данных в MySQL (Антоним)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/77709.html#22</link>
    <pubDate>Sat, 18 Jun 2011 20:04:16 GMT</pubDate>
    <description>Что вы чушь несёте. Стек использует бинарные строки, но никак не ЗНАКОВЫЕ целые&lt;br&gt;</description>
</item>

<item>
    <title>Рекомендации по оптимальному использованию типов данных в MySQL (Сергей)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/77709.html#21</link>
    <pubDate>Fri, 17 Jun 2011 22:33:43 GMT</pubDate>
    <description>&amp;gt;&amp;gt; эй, чудик, что хранит ip в char, отсортируй-ка их по возрастанию..&lt;br&gt;&amp;gt; А зачем, простите? Сходу даже задач не приходит в голову, где нужно &lt;br&gt;&amp;gt; сортировать по IP o.O Поиск по IP, еще понимаю..&lt;br&gt;&lt;br&gt;Еще более экзотический вариант, в БД храним список подсетей в виде int - IP адрес сети, в виде int - маску сети. Задача проверки в какие из сети входит определенный IP. Вот тут уже получите более серъезный оверхед если будете хранить в char.&lt;br&gt;</description>
</item>

<item>
    <title>Рекомендации по оптимальному использованию типов данных в MySQL (Сергей)</title>
    <link>https://opennet.ru/openforum/vsluhforumID3/77709.html#20</link>
    <pubDate>Fri, 17 Jun 2011 22:29:30 GMT</pubDate>
    <description>Взять максимальный IP по выборке например:&lt;br&gt;SELECT * FROM table WHERE expr... ORDER BY int_ip DESC LIMIT 1;&lt;br&gt;в вашем случае при хранении в char это:&lt;br&gt;SELECT * FROM table WHERE expr... ORDER BY INET_ATON(char_ip) DESC LIMIT 1;&lt;br&gt;что соответственно overhead&lt;br&gt;</description>
</item>

</channel>
</rss>
