Есть огромный csv-файл с данными (over 100k строк). Как все это добро на PHP, без SSH, загнать в MySQL?
Алгоритм в твоем случае будет таким:
1. Удаление всех индексов из таблицы, куда планируется записывать данные.
2. Открытие файла (fopen).
3. Чтение m строк (fgets) пока не конец файла.
4. Составление запроса в виде одной пачки (batch): INSERT INTO ... VALUES ( %row1%, %row2%, ... , %rowm%);
5. Выполение запроса.
6. Переход к шагу 3.
7. Конец файла, закрытие файла, строим удаленные индексы.
Если шаги 3 и 4 выполнять параллельно, то можно сэкономить на памяти.
По поводу лимита: у тебя сложность алгоритма O(n) - т. е. линейно зависит от кол-ва строк в файле, ускорить (если недостаточно) поможет либо оптимизация (использования низкоуровневых утилит для вставки данных, но данные эти заранее должны быть подготовлены), либо использование более производительного железа (клиента, сети, сервера).
Открывайте файл не весь, а кусками по N байт. Например, с помощью CURL.