есть реальная задача. У меня сотни гигов разных списков паролей, мне хотелось бы все в одну БД (сейчас в тысячах файлов), причём удалив все дубли, но по сути одна таблица с unique полем и все. Как максимально эффективнее импортировать эти несколько терабайт в БД?
Начни учиться с туториалов каких-нибудь. И книжки по основам RDBMS. В принцыпе, как делать ЭТО я ужэ описал -- но... Ну, ты там во всех следующих шагах будешь тожэ какие-то ошыбки делать если не освоишь основы.
В частности, сейчас ты запустил на ровном месте задачу O(n^2) сложности по доступу к памяти, при n примерно миллиард. Понятно, что она никогда не выполнится на чём-то, что не влезло в память. При том, что нормальная сложность у неё -- O(n log(n))
Без SSD, правда, всё равно всё будет печально... Но хотя бы в некотором обозримом будущем закончится. Время загрузки порядка недель будет. ЗЫ Да, можно попробовать GIN или BRIN-индэкс. Возможно, с этим можно без SSD добиться времени порядка дня. Не уверен.
Обсуждают сегодня