• Как осуществить потоковое добавление в базу?

    @ask0generator
    Мое субъективное мнение:
    mysql - на каждый коннект создает персональную сессию для кадого клиента...
    Но я в вашем случае все-таки делал бы в один поток (т.е с одной сессии), просто:
    1. генерил массив для вставки
    2. начинал бы транзакцию
    3.2. отключал бы индекси
    3.3. делал бы массовый INSERT INTO из сгенерированного массиыва данных
    3.4. включал бы индексы
    4. завершал бы транезакцию
    Ответ написан
    Комментировать
  • MySQL. Использовать 2 одиночных индекса или 1 составной?

    @ask0generator Автор вопроса
    для чего нужны составные индексы:
    для запросов WHERE `col1` = 5 AND `col3` < 2
    вот для него нужен составной индекс col1+col5

    в таких примерах чаще всего приводят аналогию с записной книжкой. представь у тебя в записной книжке сто тысяч адресатов. адресаты упорядочены в алфавитном порядке по возрастанию, по фамилии, затем - имени. (составной индекс, фамилия+имя)
    и тебе нужно выбрать всех, у кого: фамилия начинается с буквы П или меньше, и имя <Л
    Представил?
    Вот всех с фамилией раньше П всё ясно - просто ищешь букву Р, листаешь на страницу ранее и всё что до этой страницы - искомые люди. А как теперь быть с именем? а никак, существующий индекс нам не поможет. Поэтому придётся перелистывать все фамилии и для каждой смотреть, какое имя ей сопоставлено.

    Мне помогло разобратся!
    Ответ написан
    Комментировать
  • Как лучше всего оптимизировать SQL-запросы с JOIN?

    @ask0generator
    habrahabr.ru/post/44807
    Достаточно подробно описана логика работы JOIN-ов.
    Ответ написан
    Комментировать