|
|
|
Вставка большого количества строк из файла
|
|||
|---|---|---|---|
|
#18+
Всем доброго времени суток. Столкнулся с такой задачей. Есть MySQL-база с табличкой: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2013, 08:26:44 |
|
||
|
Вставка большого количества строк из файла
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. В нее нужно вставлять порядка нескольких мил.записей (до 40 мил.). Сделал через "load data in file". Подскажите, можно ли как-то на уровне MySQL сделать настройки, что-бы ускорить вставку. Сейчас вставка выполняется около 18 мин. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2013, 08:34:40 |
|
||
|
Вставка большого количества строк из файла
|
|||
|---|---|---|---|
|
#18+
Уберите из структуры индекс. Создайте его уже после выполнения импорта данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2013, 08:52:41 |
|
||
|
Вставка большого количества строк из файла
|
|||
|---|---|---|---|
|
#18+
AkinaУберите из структуры индекс. Создайте его уже после выполнения импорта данных.Убрать единственный уникальный индекс из InnoDB-таблицы? Объем хранимых данных (и, как следствие, требования к объему кеша InnoDB ) резко возрастет. Сейчас порядка 256*40000000=10 Гб. Станет порядка ((256+6)*40000000)*2=20Гб. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2013, 10:04:54 |
|
||
|
Вставка большого количества строк из файла
|
|||
|---|---|---|---|
|
#18+
igor_ch, Опишите задачу более полно. Для чего эта таблица и для чего в ней этот индекс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2013, 10:09:03 |
|
||
|
Вставка большого количества строк из файла
|
|||
|---|---|---|---|
|
#18+
Задача в следующем: программно (с помощью php-скрипта) генерируется несколько мил. промокодов, которые должны быть сохранены в базу для дальнейшей сверки введенного пользователем значения. Индекс был создан для предотвращения вставки повторяющихся значений ну и плюс для ускорения выборки данных при сверке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2013, 10:38:54 |
|
||
|
Вставка большого количества строк из файла
|
|||
|---|---|---|---|
|
#18+
А почему бы не генерить номера прямо на MySQL-сервере в рамках SQL-процедуры? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2013, 11:25:54 |
|
||
|
Вставка большого количества строк из файла
|
|||
|---|---|---|---|
|
#18+
Можно перенести все в процедуры, но возникает вопрос: на сколько эффективна RAND() и как скоро она даст повторы. Плюс возникнет проблема обновления индикатора процесса, показываемого юзеру в процессе генерации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2013, 11:50:51 |
|
||
|
Вставка большого количества строк из файла
|
|||
|---|---|---|---|
|
#18+
igor_chПлюс возникнет проблема обновления индикатора процесса, показываемого юзеру в процессе генерации.Это, как раз, не проблема. Сделайте процедуру, которая создает тысячу записей, и вызывайте ее нужное количество раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2013, 12:49:05 |
|
||
|
Вставка большого количества строк из файла
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2013, 12:51:01 |
|
||
|
Вставка большого количества строк из файла
|
|||
|---|---|---|---|
|
#18+
igor_chпрограммно (с помощью php-скрипта) генерируется несколько мил. промокодов, которые должны быть сохранены в базу для дальнейшей сверки введенного пользователем значения.Не пробовали из скрипта сразу писать в базу с помощью prepared statements ? Если коммитить не слишком редко и не слишком часто (например, через 100-1000 записей), то, по идее, результат должен быть неплохим. Хотя и не могу быть уверен, что будет лучше, чем LOAD DATA. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2013, 12:52:28 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38321389&tid=1836503]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
49ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 343ms |

| 0 / 0 |
