|
|
|
Lunatikus |
|
|||
Опытный Профиль Группа: Участник Сообщений: 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). сайт гильдии |
|||
|
||||
ТоляМБА |
|
|||
Котэ Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: 3 Всего: 252 |
INSERT
1.Новую табицу создаёшь 2. Убиваешь старую 3. Присваиваешь новой таблице имя старой (прога же по имени к таблице обращается). UPDATE 1. Изменяешь записи в старой таблице. Чувствуешь разницу? |
|||
|
||||
Lunatikus |
|
|||
Опытный Профиль Группа: Участник Сообщений: 503 Регистрация: 29.6.2007 Репутация: 1 Всего: 6 |
новая таблица уже создана.Убивать старую не надо.Так что только запись,в том то и вопрос.Что быстрее-запись или изменение?
-------------------- TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games). сайт гильдии |
|||
|
||||
Domestic Cat |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: нет Всего: 172 |
Зависит от многих факторов: базы данных, наличия индексов. К примеру SQL Server может update превратить в последовательность операций - delete/insert. Индекс соответственно тоже обновляется, при инсерте добавляется новая запись, при апдейте - запись может переместиться вообще не другую страницу. Влияет также наличие триггера (на инсерте есть, на апдейте нет например), выполняется ли запрос в транзакции. -------------------- |
|||
|
||||
Marduk |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 83 Регистрация: 9.4.2007 Репутация: нет Всего: 2 |
Вообще, это смотря что за задачу ты хочешь решить. если можно обойтись без создания временной таблицы, то мне кажется лучше просто сделать Update
Это сообщение отредактировал(а) Marduk - 30.7.2007, 11:18 |
|||
|
||||
Lunatikus |
|
|||
Опытный Профиль Группа: Участник Сообщений: 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). сайт гильдии |
|||
|
||||
Marduk |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 83 Регистрация: 9.4.2007 Репутация: нет Всего: 2 |
Попробуй сам выполнить пару запросов к своей базе сделать одинаковых, но один с update, а другой с insert into и посмотри где быстрее выполняется. тебе видно будет разницу
|
|||
|
||||
Lunatikus |
|
|||
Опытный Профиль Группа: Участник Сообщений: 503 Регистрация: 29.6.2007 Репутация: 1 Всего: 6 |
И как я сразу не догадался)
спасибо всем! -------------------- TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games). сайт гильдии |
|||
|
||||
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |