Size: a a a

2020 December 22

AS

Alexey Shumkin in Delphi & Lazarus
Ivan
не будет, т.к. это экспорт из базы, т.е. если они там и есть, то уже будут в формате, пригодном для импорта
ну насчёт "не будет" я бы посомневался )) но ок ))
источник

AS

Alexey Shumkin in Delphi & Lazarus
Ivan
мне надо сразу вставить 100500 записей (функция импорта), если по одной - это занимает 1000 ед. времени, а если все сразу. то это займёт от 1 до 10 ед. времени
про транзакции знаешь? )
источник

I

Ivan in Delphi & Lazarus
а причём тут транзакции? как это может помочь, если обернуть 100500 запросов в 1 транзакцию?
источник

I

Ivan in Delphi & Lazarus
внутри транзакции всё равно они будут выполнятся последовательно
источник

AS

Alexey Shumkin in Delphi & Lazarus
Ivan
а причём тут транзакции? как это может помочь, если обернуть 100500 запросов в 1 транзакцию?
ну хотя бы тем, что оно будет тупо быстрее ))))
ты же этого хочешь? )
источник

AS

Alexey Shumkin in Delphi & Lazarus
Ivan
а причём тут транзакции? как это может помочь, если обернуть 100500 запросов в 1 транзакцию?
есть ещё bulk insert
мы про MSSQL говорим?
источник

I

Ivan in Delphi & Lazarus
Alexey Shumkin
ну хотя бы тем, что оно будет тупо быстрее ))))
ты же этого хочешь? )
можно статью или пример? я не очень улавливаю свзять между скоростью исполнения и транзакциями.
источник

I

Ivan in Delphi & Lazarus
Alexey Shumkin
есть ещё bulk insert
мы про MSSQL говорим?
неа, про postgres
источник

I

Ivan in Delphi & Lazarus
мне ещё надо после каждой вернуть id созданного элемента
источник

I

Ivan in Delphi & Lazarus
в postgres в конце пишешь returning id
источник

AS

Alexey Shumkin in Delphi & Lazarus
Ivan
неа, про postgres
PostgreSQL actually treats every SQL statement as being executed within a transaction. If you do not issue a BEGIN command, then each individual statement has an implicit BEGIN and (if successful) COMMIT wrapped around it. A group of statements surrounded by BEGIN and COMMIT is sometimes called a transaction block.

как ты думаешь, если открывать транзакцию, вставлять запись, закрывать транзакцию для каждой записи будет так же быстро,к ак и
открыть транзакцию, вставить кучу записей и закрыть транзакцию?
источник

AS

Alexey Shumkin in Delphi & Lazarus
Ivan
мне ещё надо после каждой вернуть id созданного элемента
так )) и как ты этого добьёшься , вставив кучу VALUES() за раз?
он массив возвращает?
источник

I

Ivan in Delphi & Lazarus
да, именно, для каждой вставленной строки, причем в том же порядке
источник

AS

Alexey Shumkin in Delphi & Lazarus
Ivan
да, именно, для каждой вставленной строки, причем в том же порядке
а для чего тебе эти ID?
источник

I

Ivan in Delphi & Lazarus
потом к ним привязка идёт других параметров, т.е. по сути - это частичная копия структуры данных из одной базы в другую. Поэтому генерируются новые id.
источник

I

Ivan in Delphi & Lazarus
Всё как бы норм работает, но чем больше структура, тем дооольше... хочу ускорить
источник

AK

Alexey Kulakov in Delphi & Lazarus
Ivan
Добрый день! Может кто-нибудь подсказать по кавычкам в Делфи? Мне надо, чтобы внутри строки было вот так:  '%s'
используй #39 тогда и не парься
источник

I

Ivan in Delphi & Lazarus
Alexey Kulakov
используй #39 тогда и не парься
сча попробую, как и транзакции, спасибо!
источник

AS

Alexey Shumkin in Delphi & Lazarus
Ivan
если я делаю по гайдам  - ''''%s'''', то получаю строку в двойных одинарных кавычках
ну и покажи эти гайды?
источник

AS

Alexey Shumkin in Delphi & Lazarus
Ivan
мм... а причём тут клавиша Del?
ну ты считал количество кавычек в твоём коде (коде строки)?
источник