Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Что быстрее,UPDATE или INSERT? 
V
    Опции темы
Lunatikus
Дата 19.7.2007, 08:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 29.6.2007

Репутация: 1
Всего: 6



Сабж.Что быстрее-вставлять данные в новую таблицу или изменять их в старой?(При условии что изменяется все/не все)
Чтобы не создавать новую тему,тут же задам несколько похожий вопрос:Что быстрее:Next или MoveBy(1)?

Это сообщение отредактировал(а) Lunatikus - 19.7.2007, 08:38


--------------------
TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games).
сайт гильдии
PM MAIL   Вверх
ТоляМБА
Дата 19.7.2007, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: 3
Всего: 252



INSERT
1.Новую табицу создаёшь
2. Убиваешь старую
3. Присваиваешь новой таблице имя старой (прога же по имени к таблице обращается).

UPDATE
1. Изменяешь записи в старой таблице.

Чувствуешь разницу?



PM   Вверх
Lunatikus
Дата 19.7.2007, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 29.6.2007

Репутация: 1
Всего: 6



новая таблица уже создана.Убивать старую не надо.Так что только запись,в том то и вопрос.Что быстрее-запись или изменение?


--------------------
TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games).
сайт гильдии
PM MAIL   Вверх
Domestic Cat
Дата 19.7.2007, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: нет
Всего: 172



Цитата(Lunatikus @  19.7.2007,  02:53 Найти цитируемый пост)
новая таблица уже создана.Убивать старую не надо.Так что только запись,в том то и вопрос.Что быстрее-запись или изменение? 

Зависит от многих факторов: базы данных, наличия индексов. К примеру SQL Server может update превратить в последовательность операций - delete/insert. 
Индекс соответственно тоже обновляется, при инсерте добавляется новая запись, при апдейте - запись может переместиться вообще не другую страницу. 
Влияет также наличие триггера (на инсерте есть, на апдейте нет например), выполняется ли запрос в транзакции.


--------------------

PM   Вверх
Marduk
Дата 30.7.2007, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 9.4.2007

Репутация: нет
Всего: 2



Вообще, это смотря что за задачу ты хочешь решить. если можно обойтись без создания временной таблицы, то мне кажется лучше просто сделать Update

Это сообщение отредактировал(а) Marduk - 30.7.2007, 11:18
PM MAIL ICQ   Вверх
Lunatikus
Дата 30.7.2007, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 29.6.2007

Репутация: 1
Всего: 6



Разные,согласен,я говорю про их производительность при выполнении одной операции.Я же могу просто обновить(заменить) запись в существующей таблице.Или могу занести новые данные в существующую пустую таблицу.
Чтобы заменить в первом случае пишу 
UPDATE T SET a=:a.

Во втором-
INSERT INTO T1(b) VALUE (:b).

Кол-во строк в заполненной таблице-больше 500 тысяч.Индексов нет.


--------------------
TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games).
сайт гильдии
PM MAIL   Вверх
Marduk
Дата 31.7.2007, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 9.4.2007

Репутация: нет
Всего: 2



Попробуй сам выполнить пару запросов к своей базе сделать одинаковых, но один с update, а другой с insert into и посмотри где быстрее выполняется. тебе видно будет разницу
PM MAIL ICQ   Вверх
Lunatikus
Дата 31.7.2007, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 29.6.2007

Репутация: 1
Всего: 6



И как я сразу не догадался)
спасибо всем!


--------------------
TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games).
сайт гильдии
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.1309 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.