Другие языки программирования и технологии

Каким образом можно выполнить несколько миллионов SQL запросов за 10 минут?

1000000 запросов за 10 минут это 30 запросов в секунду к базе... Ведь речь не о записях, а о запросах. Надо сервер прооптимизировать, какое железо и т. п., настроить индексы, ключи, кэширование и т. п будет держать сотни и больше запросов в секунду, Перес брать из исходников что-то, процесс нетривиальный. Это если классический sql, не втиснутый в облачные scalable решения с виртуализацией всего и вся, такие как Azure, Jelastic etc. Добавишь когда балансировку, демонов, кластеризацию, размещение файлов в RAM - будут тысячи запросов в секунду проходить. Ресурсы статические естественно на параллельной распределенной ФС размещаешь, типа Ceph. На кластере mysql 7.2 миллиард запросов в минуту получают. NoSql типа redis, cassandr и др. - тысячи запросов в секунду по дефолту, но там другая архитектура, подводные камни есть, не всем подходит. Ищи инфу по highload, high perfomance stack/database, nosql, sql optimization, database clustering, improving perfomance для своей платформы. Банальный поиск по stackoverflow массу полезных советов и дискуссий выдаст.
Виктор Колеватов
Виктор Колеватов
8 955
Лучший ответ
При должной оптимизации - запросто.
Олег Дёмкин
Олег Дёмкин
34 701
Смотря что за БД.
Можно многопоточность использовать.
Можно сперва все данные загрузить в набор данных в памяти. Это займет кучу ОЗУ и сама загрузка займет немало времени, но потом доступ к ОЗУ быстрее, чем к диску, если ОЗУ мощное, а диск не SSD.
Запрос запросу рознь... и СУБД от СУБД тоже отличается... и сервера очень-очень разные.
Вот на таком: http://www.oracle.com/ru/engineered-systems/exadata/overview/index.html выполнить запрос select 1+1 from dual можно и несколько миллиардов раз за 10 минут...