LINUX.ORG.RU

sqlite: добавление в таблицу множества строк


0

2

Сейчас добавляют так:

for row in rows:
   self.cursor.execute('insert ... ' % row)
self.conn.commit()

подскажите, является ли это оптимальным методом, или можно как-то внести данные быстрее, мб одним запросом?

я про случаи, когда вносится несколько тысяч строк и больше.

> несколько тысяч строк и больше

одним запросом


.import не подойдёт?

q11q11 ★★★★★
()

для более быстрой вставки следует выполнить: «PRAGMA synchronous = 0»

ну и в случае С/C++ - сделать один раз sqlite3_prepare_v2, а потом уже его выполнять много раз не тратя время на парсер

aho
()

есть executemany, но я бы посоветовал просто использовать нормальную СУБД...

anonymous
()

Вроде бы есть специальный метод - executemany (если мы про питон). Не знаю насколько он эффективен - не сравнивал.

ksv
()
Ответ на: комментарий от ksv

да, надо было уточнить что про питон
почитаю, спасибо

sergey-novikov ★★★
() автор топика
self.cursor.executemany("insert into tab1(val1) values (?)", rows)
s9gf4ult ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.