Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Подскажите по mysql
цитата
10/11/15 в 18:35
 Roys
Всем привет!
Подскажите, возможно ли решить вопрос посредством выполнения mysql запроса(запросов). Либо все гораздо сложнее?

Суть такова.
Есть база данных (для юзеров на сайте), в базе есть таблица user, в этой таблице есть поле country. Здесь прописана текстом страна юзера (United States, Greece и т.д.).
Так же в этой таблице есть поле country_id, в котором должно быть указано ID для страны юзера. Например ID для United States это 230.
Но по некоторым причинам в этом поле нет вообще никаких значений.

В этой же базе данных, есть таблица geo_country. В этой таблице, в поле country_title список стран текстом, а в поле country_id соответствующие ID для этих стран.

Как мне проставить в таблицу user эти ID? Естественно в соответствии со списком в таблице geo_country.

Руками прописывать не вариант никак icon_smile.gif Строк очень много icon_smile.gif
цитата
10/11/15 в 18:48
 k1ng
UPDATE user, geo_country SET user. country_id = geo_country.id WHERE user.country = geo_country.country_title
цитата
10/11/15 в 19:10
 remote-admin-service
И еще проверить, что у таблицы user есть индекс по полю country, а у geo_country => country_title, если много записей - будет веселее.
ну типы полей должны совпадать.
цитата
10/11/15 в 19:21
 Securom
Ставишь phpmyadmin,экспортируешь нужные таблицы в формате для екселя и редактируешь в екселе,потом стираешь нужную таблицу и экспортируешь отредактированную,ессно перед этим делаешь бекап базы данных,и вся недолга smail101.gif Лично я приноровился в екселе редактировать нужные таблицы это просто песня smail54.gif !
цитата
10/11/15 в 19:26
 Ailk

Потратил бы пару вечеров на основы SQL и больше никогда бы так не выебывался icon_biggrin.gif
Запросами гораздо быстрее делать.
цитата
10/11/15 в 20:00
 Roys
Чо то не получается нифига.
Думает долго, в итоге ничего не меняет.
Значения не проставляются.
Типы полей - у одного varchar(100) и другого varchar(255).
Индекс - ХЗ чо это такое, в phpmyadmin как то глянуть можно?
цитата
10/11/15 в 22:52
 Securom
Ailk писал:
Потратил бы пару вечеров на основы SQL и больше никогда бы так не выебывался icon_biggrin.gif

smail101.gif
Пробовал,но сцуко ексель роднее smail54.gif
цитата
10/11/15 в 22:53
 Securom
Roys писал:

Индекс - ХЗ чо это такое, в phpmyadmin как то глянуть можно?

В phpmyadmin нехуй глядеть,ставь его на сервак и пользуйся trollface.png
цитата
10/11/15 в 22:59
 S_Flash
Цитата:
phpmyadmin

Убогая хуета!
цитата
10/11/15 в 23:10
 Mika
Securom писал:
Ставишь phpmyadmin,экспортируешь нужные таблицы в формате для екселя и редактируешь в екселе,потом стираешь нужную таблицу и экспортируешь отредактированную,ессно перед этим делаешь бекап базы данных,и вся недолга

Суровый метод. smail101.gif Не проще ли туториал по SQL прочитать? icon_smile.gif
цитата
11/11/15 в 00:13
 Roys
Все работает однако. Только медленно.
База большая icon_wink.gif
Всем спасибо, особенно k1ing-у!!!! icon_smile.gif
цитата
11/11/15 в 08:55
 Securom
Mika писал:
Суровый метод. smail101.gif Не проще ли туториал по SQL прочитать? icon_smile.gif

Мы не ищем легких путей,да и для такого тупицы как я это охуенный выход чтобы редактировать базы данных smail101.gif
цитата
11/11/15 в 10:04
 Ailk
Securom писал:
Мы не ищем легких путей,да и для такого тупицы как я это охуенный выход чтобы редактировать базы данных smail101.gif

Это не сложно )) Можешь даже тут вопросы задавать - ответят.

S_Flash писал:
Убогая хуета!

Чего тут муадмин не нравится? Отличный инструмент для быстрого и визуального редактирвания бд. Особенно выручет копипаста, когда перебирайешь експлены сложных запросов + постоянный перебор в поиске оптимальных индексов. По ссх устанешь клацать по клаве набирая все вручную.
цитата
11/11/15 в 10:10
 Ailk
Roys писал:
Все работает однако. Только медленно.
База большая icon_wink.gif
Всем спасибо, особенно k1ing-у!!!! icon_smile.gif

Если не нужен полнотекстовый поиск, то можно, и даже нуждно перевести базы с муисам на инноДБ. Это даст возможность использовать транзакции. К примеру если надо поменять значения всей таблице и операция предполагает замену разношерстными данными, то можно менять пачками по несколько тысяч в одной транзакции. Будет намного быстрее все происходить, за счет того, что в транзакциях нет перестройки индексов после каждой замены или вставки, как это происходит при обычном цикличном запросе.
цитата
11/11/15 в 10:16
 ibiz
Ailk писал:
Если не нужен полнотекстовый поиск, то можно, и даже нуждно перевести базы с муисам на инноДБ.


надо смотреть на кол-во всех запросов, если селектов 95%, то будет сильный проигрыш инноДБ trollface.png
цитата
11/11/15 в 11:59
 Ailk
ibiz писал:
надо смотреть на кол-во всех запросов, если селектов 95%, то будет сильный проигрыш инноДБ trollface.png
Ну, не такой уж и сильный. К тому же если грамотно использовать кеширование, то будет совсем незаметно. Но в целом да, согласен. Если только селекты, то муисам.
цитата
11/11/15 в 12:02
 S_Flash
Ailk писал:
Чего тут муадмин не нравится? Отличный инструмент для быстрого и визуального редактирвания бд. Особенно выручет копипаста, когда перебирайешь експлены сложных запросов + постоянный перебор в поиске оптимальных индексов. По ссх устанешь клацать по клаве набирая все вручную.

У него один плюс, пока пытался понять, что там показывает этот его "великий" инетерфейс, быстрее выучил SQL.. icon_smile.gif Просмотр таблиц - ещё куда ни шло, но вот что-то поменять лично меня вводит в ступор.
цитата
11/11/15 в 12:03
 ibiz
Ailk писал:
Ну, не такой уж и сильный. К тому же если грамотно использовать кеширование, то будет совсем незаметно. Но в целом да, согласен. Если только селекты, то муисам.


я проверял и пытался инноДБ хотябы подтянуть к уровню муисам по скорости выборки, даже голый муисам без ювелирных настроек на порядок быстрее инноДБ*

может я что-то не правильно готовил? icon_rolleyes.gif
* речь про селекты trollface.png
цитата
11/11/15 в 12:33
 Stek
innodb просто надежнее в записи и структуре. А myisam тупо читалка данных. Так что все от задачи зависит.
цитата
11/11/15 в 12:41
 ibiz
Stek писал:
innodb просто надежнее в записи и структуре. А myisam тупо читалка данных. Так что все от задачи зависит.


задача - быстродействие smail54.gif
что если писать в innodb, а читать из myisam, решаемая задача при >1000m записей? trollface.png
цитата
11/11/15 в 12:53
 Stek
ibiz писал:
что если писать в innodb, а читать из myisam

Как ты себе такое представляешь ? Это как кормить Васю, а что бы сытым был Петя trollface.png
цитата
11/11/15 в 13:02
 ibiz
Stek писал:
Как ты себе такое представляешь ? Это как кормить Васю, а что бы сытым был Петя trollface.png


реально видел такое решение на стековерфлоу, когда настраивал свою мариюдб trollface.png
цитата
11/11/15 в 13:05
 Ailk
Нет там порядков. Максимум процентов 10, не больше.
1 из примеров.
http://dba.stackexchange.com/questions/17431/which-is-faster-innodb-or-myisam
Да и любые другие бенчмарки посмотри. Нет нигде "порядков" превосходства у муисама. Однако возможность транзакций и надежность данных как по мне всеже перевешивает этот скудный профит.
Вот прикол кстати со смарт сиджем. У него если поставить 1000 галер на удаление, то произойдет овердохуя запросов на апдейт выбранных галер в цикле. Не помню точно, вроде как раз муисам использутся. Суть в чем. Если бы он использовал транзакции, ебаное массовое редактирование не вешало бы админку на хрен знает сколько. А так постоянный блок целых таблиц и перестройка индексов. Бред короче )
цитата
11/11/15 в 14:23
 ibiz
Ailk писал:
Нет там порядков. Максимум процентов 10, не больше.


ну может и так trollface.png
цитата
11/11/15 в 15:02
 Stek
ibiz писал:
реально видел такое решение на стековерфлоу, когда настраивал свою мариюдб

бред какой то, не может такого быть. Или задача весьма специфичная, где можно с запозданием данные отдавать.
Стр. 1, 2  >  последняя »


Эта страница в полной версии