Помогите оптимизировать вставку/выборку из таблицы Mysql

J
На сайте с 08.06.2006
Offline
844
572

Ситуация такая:

есть таблица

из нее нужно выбрать id если name='определенное значение'

если такого значения name нет в таблице, тогда вставить его и выбрать его id

это вариант выбрать/вставить/выбрать (минусы: если значения нет, то три операции)

есть еще вставить/выбрать (если значение есть, то "холостая" ненужная вставка)

Что еще можно придумать, чтобы не "напрягать" Mysql ?

Спасибо!

edogs software
На сайте с 15.12.2005
Offline
775
#1

В первом варианте 2 операции. Зачем Вам снова выбирать после вставки? Вы же вставили - значит знаете что вставили.

Так что выбрать=>вставить для Вашей задачи оптимальнее некуда, все равно придется и выбирать и вставлять.

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
bay_ebook
На сайте с 28.05.2010
Offline
111
#2

У вас тут сначала INSERT IGNOR потом SELECT

Если хотите снять нагрузку с мускула - кеширование на основе Redis/мемкешед/ets для уже существующих значений.

Нужен прогер на php+mysql+понимание чужего кода? (/ru/forum/540660) Вам сюда PHP-шаман (http://php-shaman.pw/)
J
На сайте с 08.06.2006
Offline
844
#3
edogs:
значит знаете что вставили

id то я не знаю какой у вставленной записи

J
На сайте с 08.06.2006
Offline
844
#5
bay_ebook:
а гугл никак поюзать?

юзал

между вставкой и выборкой может быть вставка другого значения

TF-Studio
На сайте с 17.08.2010
Offline
334
#6
joost:
юзал

между вставкой и выборкой может быть вставка другого значения

тогда у вас логика нарушена где-то

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
bay_ebook
На сайте с 28.05.2010
Offline
111
#7
joost:
юзал

между вставкой и выборкой может быть вставка другого значения

Правда?

Транзации юзали?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий