2014-11-29 2 views
2

Протестируйте RethinkDB и захотите узнать правильный способ вставки ванны в 1 м с помощью JavaScript-клиента. В настоящее время делать что-то вроде следующего, но либо просто перестает вставив без ошибок или получить исключение памяти:Пакетная вставка с RethinkDB

  for(var i = 0; i < 100000; i++){ 
       r.table('people').insert({"name": i}).run(conn, function(err, result){ 
        if(err) { 
         throw err; 
        } 
       }); 
      } 

Какой самый лучший способ достичь этого, учитывая асинхронную природу JS?

+0

Скорее посмотрите на функцию импорта в cli – Chev

ответ

5

Вы можете партия ваш вкладыш, передавая массив документов для вставки insert([doc1, doc2, doc3, doc4])

Вы также можете использовать несколько соединений, и есть один запрос максимально выполнить за соединение - вы можете быть заинтересованы в пакете rethinkdbdash, если вы не хотите вручную делать это (он предоставляет пул соединений).

+0

Я вижу, что размер оптимального массива составляет 200 единиц. Я хочу загрузить как 5 до 10 м :-) – Chev

+0

Оптимальный размер зависит от размера ваших документов, вашего сервера и т. Д. Вам нужно немного поэкспериментировать. Использование нескольких подключений также продемонстрировало бы огромное улучшение. – neumino

Смежные вопросы