powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / SQLite [игнор отключен] [закрыт для гостей] / REPLACE или INSERT/UPDATE?
10 сообщений из 10, страница 1 из 1
REPLACE или INSERT/UPDATE?
    #36384908
LiYing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Стоит ли использовать REPLACE вместо проверки: есть запись - UPDATE, нет - INSERT? Дает ли выигрыш по скорости записи?
В общем, What are the advantage and disadvantage of REPLACE?
...
Рейтинг: 0 / 0
REPLACE или INSERT/UPDATE?
    #36385413
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
Странный вопрос. По скорости выигрыш, разумеется, есть - это легко проверить. Кроме прочего, база на запись блокируется на меньший интервал времени, что повышает конкурентность. Но именно REPLACE использовать не стоит, это мускульное расширение, лучше уж insert or replace, а еще лучше - соответствующий conflict resolution алгоритм, назначенный при создании таблицы. Так что определитесь, "вам шашечки или ехать", то бишь интересует именно синтаксис или функционал
...
Рейтинг: 0 / 0
REPLACE или INSERT/UPDATE?
    #36385807
LiYing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MBGПо скорости выигрыш, разумеется, есть - это легко проверить.
Мне не удалось проверить, все время разные результаты замера... Выигрыш чей: REPLACE выполняется быстрее?

MBGНо именно REPLACE использовать не стоит, это мускульное расширение, лучше уж insert or replace,
Не понял, в чем разница между ними? Из хэлпа: "The REPLACE command is an alias for the "INSERT OR REPLACE" variant of the INSERT command. This alias is provided for compatibility other SQL database engines. "
...
Рейтинг: 0 / 0
REPLACE или INSERT/UPDATE?
    #36385836
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще лучше начать с плана исполнения запроса. При чем это стоит делать
независимо от СУБД, когда есть вопросы про производительность запроса.
В случае SQLite это будет наидетальнейший план с точностью до чиха :)
...
Рейтинг: 0 / 0
REPLACE или INSERT/UPDATE?
    #36385935
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
Dmitry ArefievВообще лучше начать с плана исполнения запроса. При чем это стоит делать
независимо от СУБД, когда есть вопросы про производительность запроса.
В случае SQLite это будет наидетальнейший план с точностью до чиха :)

Еще есть и код приложения, если автор на стороне приложения делает проверку - подготавливает и выполняет _два_ запроса - на поиск, перезапись существующей или вставку новой записи. И здесь оверхед весьма поболее выходит, чем если смотреть только разницу эскулайтовских инструкций.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
REPLACE или INSERT/UPDATE?
    #37205582
hardir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста, как обновить строку в таблице, а если таковой нет, то вставить (добавить).
INSERT OR REPLACE не работает, записи всёравно добавляются.
К примеру имеется табличка с целочисленными полями:
|id |data |
Нужно вставить запись с id=x, а если такова имеется, то обновить её, изменив data. Надо чтоб в один запрос....
...
Рейтинг: 0 / 0
REPLACE или INSERT/UPDATE?
    #37205585
hardir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да ... и на http://www.sqlite.org/lang_insert.html нет корректой информации по этому поводу. Там INSERT OR REPLACE даде не рассматривают. Так, упоминают, что это есть, а как ОНО работает и примерчика нету :(
...
Рейтинг: 0 / 0
REPLACE или INSERT/UPDATE?
    #37205849
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hardirПодскажите пожалуйста, как обновить строку в таблице, а если таковой нет, то вставить (добавить).
INSERT OR REPLACE не работает, записи всёравно добавляются.
К примеру имеется табличка с целочисленными полями:
|id |data |
Нужно вставить запись с id=x, а если такова имеется, то обновить её, изменив data. Надо чтоб в один запрос....Первичный ключ задай и все будет работать.
...
Рейтинг: 0 / 0
REPLACE или INSERT/UPDATE?
    #37207756
hardir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Первичный ключ задай и все будет работать.
В SQLite Database Browser нет такого параметра. Там тока индексы, а как с ними работать я не в курсе.
Потому, пока у меня реализовано в три запроса. Первый проверяет запись на существование, а второй и третий выполняются в соответствии с условием, есть или нету записи.
...
Рейтинг: 0 / 0
REPLACE или INSERT/UPDATE?
    #37207810
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Читай http://www.sqlite.org/lang_createtable.html на тему PRIMARY KEY.
2) Выкинь SQLite Database Browser, если он не позволяет определять PK
или ищи лучше, где и как он это позволяет делать. А вообще это можно
и ручками проделать.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / REPLACE или INSERT/UPDATE?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]