Что лучший способ состоит в том, чтобы достигнуть быстрых вставок больших объемов данных в MySQL?

Это должно работать:

const router = new VueRouter({
  routes: [
    { path: '/housedeal/:id', component: ViewDeal, props: {isHousedeal: true} },
    { path: '/cardeal/:id', component: ViewDeal, props: {isHousedeal: false} },
  ]
})

Затем, чтобы получить идентификатор, вы можете использовать {{ $route.params.id }} в вашем компоненте.

const ViewDeal = {
  props: ['isHousedeal'],
  template: '<div>Is this house deal? {{isHousedeal}}. ID : {{$route.params.id}}</div>'
}
8
задан OMG Ponies 27 December 2009 в 03:12
поделиться

6 ответов

  • Используйте mysqlimport инструмент или команду LOAD DATA INFILE.
  • Временно отключите индексы, в которых Вы не нуждаетесь для целостности данных
15
ответ дан 5 December 2019 в 08:01
поделиться

Я сделал бы, по крайней мере, эти вещи согласно этой ссылке:

  1. Переместите файлы туда и подключение по сокету Unix
  2. Генерируйте, вместо ВСТАВОК, ДАННЫЕ ЗАГРУЗКИ файл INFILE
  3. Отключение индексов во время загрузки
2
ответ дан 5 December 2019 в 08:01
поделиться

MySQL со стандартными табличными форматами замечательно быстр, пока это - таблица только для записи; таким образом, первый вопрос состоит в том, собираетесь ли Вы быть обновлением или удалением. В противном случае не идите с innosys - нет никакой потребности в блокировке, если Вы просто добавляете. Можно усечь или переименовать выходной файл периодически для контакта с размером таблицы.

1
ответ дан 5 December 2019 в 08:01
поделиться

1. Удостоверьтесь, что Вы используете транзакцию.

Транзакции устраняют

ВСТАВЬТЕ, СИНХРОНИЗАЦИЯ К ДИСКУ

фаза повторения и вместо этого весь диск IO выполняется, когда Вы ФИКСИРУЕТЕ транзакцию.

2. Удостоверьтесь, что использовали сжатие соединения

Необработанный текст + GZip сжал поток ~ = целая 90%-я пропускная способность, сохраняющая в некоторых случаях.

3. Используйте параллельную нотацию вставки, если это возможно,

INSERT INTO TableName(Col1,Col2) VALUES (1,1),(1,2),(1,3) 

(Меньше текста для отправки, более короткое действие)

1
ответ дан 5 December 2019 в 08:01
поделиться

Если Вы не можете использовать ДАННЫЕ ЗАГРУЗКИ, INFILE как другие предложили, используйте подготовленные запросы для вставок.

1
ответ дан 5 December 2019 в 08:01
поделиться

Действительно зависит от механизма. При использовании InnoDB используйте транзакции (Вы не можете избежать их - но если Вы используете автоматическую фиксацию, каждый пакет находится неявно в его собственном txn), но удостоверьтесь, что они не являются ни один слишком большими или слишком маленькими.

При использовании MyISAM транзакции бессмысленны. Можно достигнуть, лучше вставляют скорость путем отключения и включения индексов, но это только хорошо на пустой таблице.

Если Вы запускаете с пустой таблицы, это является обычно лучшим.

ДАННЫЕ ЗАГРУЗКИ являются победителем так или иначе.

1
ответ дан 5 December 2019 в 08:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: