Здравствуйте, wildwind, Вы писали:
W>По первому вопросу я бы спросил, а зачем индексировать непременно весь URL, почему недостаточно префикса? И зачем для URL UTF-8, готовитесь к запуску домена .рф ?
полностью было бы хорошо проиндексировать урл, чтобы поиск вида
...WHERE url LIKE '%var%'
использовал индекс. С частичным индексом индекс используется только при таком поиске:
...WHERE url LIKE 'var%'
UTF-8 в сязи с тем, что во втором текстовом поле упакована detail информация, которая в UTF-8. Использование же master — details вставки сильно медленнее самой худшей вставки одной строки. Худшей — в том смысле, что максимальной длины индексы и utf-8 в "master" части.
W>По второму вопросу видимо нужно профилировать, искать узкое место. Каждый индекс разумеется замедляет вставку, но вот насколько — зависит от многих факторов. По MySQL ничего определенного не подскажу, опыта нет. Кстати от длины ключа наверняка зависит.
Нет, меня больше интересует подсказка, типа "oracle делает данные инсерты быстрее чем...".
W>Очень вероятно поможет буферизация в приложении и вставка пачками по 100 и более строк.
А это всегда общая тенденция? Или просто связанная с затратами на открытие соединения? (у меня оно постоянно открыто).