@mysql_ru

Страница 38 из 142
Alexey
11.07.2017
07:21:40
по мне так в myisam с 3.23 никакого смысла не осталось. но люди у нас креативные, периодически какие-то смыслы придумывают

Dan
11.07.2017
07:22:18
я больше скажу, многие до сих пор phpmyadmin еще используют, и ftp пользуются.

Ринат
11.07.2017
07:22:18
ну до 5.6 там типа был полнотекстовый поиск которого не было в innodb

а потом то уже усё

Google
Alexey
11.07.2017
07:22:29
да

Ринат
11.07.2017
07:22:34
да я со всех вещей переехал в один phpstorm

у которого и работа с базой и всё остальное клеёвое

Alexey
11.07.2017
07:22:58
хотя sphinx же был и есть, для тех кому fts нужен

Ринат
11.07.2017
07:23:13
fts?

Fike
11.07.2017
07:23:21
elasticsearch ?

Dan
11.07.2017
07:23:22
с точки зрения кодинга работа с базой должна сводиться исключительно к миграциям. всё остальное моветон.

но не мне вас учить кодить ?

Ринат
11.07.2017
07:23:45
помоему elasticsearch разумнее юзать чем платный сфинкс котоорый поддерживает один человек и всё зависит от него

но жизнь и многие задачи далеки от идеальности, как идеальный газ в формулах школьной физики от реального газа в трубах)

Fike
11.07.2017
07:25:17
сфинкс разве платный?

Ринат
11.07.2017
07:27:15
ну на продакшене

Google
Ринат
11.07.2017
07:27:17
разве бесплатный?

Fike
11.07.2017
07:27:44
просто зачем он тогда нужен лол

Ринат
11.07.2017
07:27:57
+

Лицензия GPLv2 и коммерческа

Fike
11.07.2017
07:28:44
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation

GPL же вроде разрешает коммерческое использование

Ринат
11.07.2017
07:29:25
а что за "и коммерческая"?

большая проблема имхо-поддержка одним человеком

которая может прекратится в любой момент по разным причинам

Alexey
11.07.2017
07:35:23
а она у кого угодно может прекратиться. но да, sphinx что-то сдувается, эластик сейчас более модный

Ринат
11.07.2017
07:36:06
ну там команда

Alexey
11.07.2017
07:36:08
но нет, для коммерческого использования необязательна коммерческая лицензия. она нужна только когда условия распространения нарушают GPL, а это мало кому нужно

и в сфинксе команда. просто маленькая, и лидер подустал :)

но у них до сих пор есть и большие клиенты. craigslist и avito, например

Dan
11.07.2017
09:08:26
а пхпмойадмин-то чем не угодил?
нет. я не стану тут заниматься спорами и холиварами. у каждого инструмента есть свои плюсы и минусы. однако, есть еще вопросы безопасности, целесообразности, скорости и оптимальности. угодил, всё хорошо. я им не пользуюсь уже давно во многом потому что для меня есть более оптимальные решения. для меня самое критичное это io-операции, и оптимальность я измеряю именно в этом аспекте

перевожу на русский. я стараюсь не использовать прослойки и сложные схемы работы с простыми и примитивными коллекциями данных

чем проще и быстрее - тем лучше. если есть вариант работать напрямую с sql - это нужно делать

Pavel
11.07.2017
09:10:29
а если, например, нужно периодически зайти удаленно? где нет никаких клиентов

не холивара ради, просто интересуюсь)

Google
Pavel
11.07.2017
09:11:41
(удаленно - то бишь с чужого компа)

Dan
11.07.2017
09:12:14
а phpmyadmin это как минимум: код, который должен оттранслироваться и интерпретироваться php (который пусть и на си, но трансляция и интерпретация отнимает время) + драйвер к mysql (реализация которого, прости господи, до сих пор получает патчи безопасности, плюс опять же драгоценное время) + задержка в php=>html и всякие вот эти вот веб-запросы клиента к серверу + javascript.

а если, например, нужно периодически зайти удаленно? где нет никаких клиентов
зайти оттуда, где нет никаких клиентов? но это же странно

установите себе хотя бы Navicat. он недорогой. даже триал есть. и боже упаси открывать mysql наружу. только через ssh туннель

а, ну да, еще работать с базой через http - это вообще аларм. открытые пароли для MitM атак, это пять

но да, таки продолжают. и pma в http, и ftp.

всё правильно делаете, что сказать. всё правильно

я, кстати, знаю одного человека, который до сих пор использует mysql_connect ?

Pavel
11.07.2017
09:15:29
ну допустим, в отсутствии mitm атаки я уверен) но Navicat уж не установишь везде - только если на флешке таскать

но таки идею понял, спасибо)

Dan
11.07.2017
09:16:23
у вас странный кейс. зачем таскать с собой флешку и заходить в базу данных напрямую с каких-то машин, которые для этого не предусмотрены? заходить нужно с тех машин, в которых ты уверен. на которых стоит нужный софт, и разумеется только ssh-ключами.

а так - я не против pma, ни в коем случае. пусть будет

Pavel
11.07.2017
09:19:39
ну, согласен, ситуация довольно странно выглядит)

Otto
11.07.2017
09:24:36
всем прив. в mysql 5.7 можно создать формулу?

lost
11.07.2017
09:39:02
формулу?

что ты понимаешь под формулой?

Otto
11.07.2017
10:50:01
если поле A == 1, и поле B == 2, тогда поле C + поле D * поле E, и результат записать в поле F как-то так...

lost
11.07.2017
11:10:33
update foo set res = IF(a = 1 and b = 2, (d*e)+c, null)

например так

Otto
11.07.2017
11:34:06
с тригерами не работал, + тригеры может мне не подойти т.к. действие на каоке-нибудь поле не происходит, мне надо что бы оно в автоматическом режиме работало... + Event наверное тоже не особо приятно... каките есть варианты... :(

Google
lost
11.07.2017
11:47:09
с тригерами не работал, + тригеры может мне не подойти т.к. действие на каоке-нибудь поле не происходит, мне надо что бы оно в автоматическом режиме работало... + Event наверное тоже не особо приятно... каките есть варианты... :(
это все можно решить, у тебя вся строка в массиве new и в массиве old будет, ты можешь выбрать на какую строку обновления делать можно и триггерами можно и эвентами, зависит от того насколько быстро нужна делать вычисления

Otto
11.07.2017
11:48:35
я не работал с тригерами и с евентами, НО тут стоит нюанс что мне не надо вызывать что-то а хочу что бы всегда само считало... как-то так...

lost
11.07.2017
11:52:40
Тогда триггер

Ну или виртуальная колонка

Появилось с 5.7

Otto
11.07.2017
11:59:27
дай совет... у меня сейчас на стороне PHP , проверяю поля и всё считает и делает каждый день UPDATE в БД, что не очень удобно т.к. записей больше 1к... вот и думаю на сторону БД перенетси это всё... т.к. на стороне PHP приходиться или CRON делать всё это или на определённую страницу/кнопку вешать...

lost
11.07.2017
12:00:54
обновление раз в день?

Otto
11.07.2017
12:22:19
сейчас да, через CRON но мне надо в реальном режиме что бы работало, т.е. даже если я не будут запрашивать event, CRON, процедуру, что бы данные обновлялись по текущему времени...

или так не получиться?

lost
11.07.2017
12:25:29
чтобы обновление происходило в момент добавления данных?

Herman
11.07.2017
12:28:22
как сделать, чтобы при создании новой записи в БД, автоматически для неё создавался уникальный id, который на 1 больше предыдущего?

в какую сторону копать?

lost
11.07.2017
12:29:01
сделать колонку автоинкремент?

Herman
11.07.2017
12:29:37
ну да

я просто совсем новичок с БД

Ринат
11.07.2017
12:30:08
во всяких ораклаах-сиквенсы

в майскл с этим проще

Herman
11.07.2017
12:30:38
а через что это делается? какая функция?

просто информации по БД в интернете много, а мне нужно конкретно это, чтобы лишние не изучать. а то щас начну туториалы смотреть и много времени потрачу

или это сложно сделать средствами mysql?

Google
Ринат
11.07.2017
12:31:46
всё просто

Danil
11.07.2017
12:31:56
лучше потрать время и не задавай больше глупых вопросов

Ринат
11.07.2017
12:31:59
при создании полю id делаешь примари кей и auto_increment

всё

Danil
11.07.2017
12:34:14
что значит мало времени?

Ринат
11.07.2017
12:34:15
ну это не в пустую))

просто бывает срочно надо решение-тогда вот тебе ответ

а если в этой теме крутится-то лучше понять и почитать да

lost
11.07.2017
12:35:59
сиквенсы интересная вещь

в посгресе тоже инкремент это сиквенс вроде

Otto
11.07.2017
12:37:50
чтобы обновление происходило в момент добавления данных?
нет, у меня в функции имееться 2 даты, дата начало и дата до, исхзодя из этого я должет считать количество дней, и по ним считать % суммы... т.е. обновление тут не происходит, иначе да я понимаю что на Тригерах можно было...

Mikhail
11.07.2017
12:43:00
Всем привет. Столкнулся с, как мне кажется, типовой задачей, но впал в ступор. Мне приходит некоторая информация и id. Если пользователь с таким id уже есть в базе, то мне надо обновить имеющиеся данные, если нет, то добавить новые. Как проще это реализовать?

Alexander
11.07.2017
12:49:36
insert into on duplicate key update ?

Mikhail
11.07.2017
13:03:08
insert into on duplicate key update ?
Да, точно. Спасибо

insert into on duplicate key update ?
Чёрт, не так описал задачу. Есть две таблицы: plants и users. Связь один-ко-многим (у одного юэера может быть сколько угодно растений) И вот мне приходит информация и id. Если в таблице users есть такой пользователь, то надо просто добавить растения в таблицу plants. Если нет, то надо ещё и в users записать. Как лучше такое провернуть?

Alexander
11.07.2017
13:19:02
быстрый вариант - триггер поставить

правильный вариант - в коде это реализовать

Mikhail
11.07.2017
13:21:00
правильный вариант - в коде это реализовать
Я вообще думал в Redis хранить информацию о том, есть ли у меня тот или иной пользователь в БД. Так нормально вообще делать?

Alexander
11.07.2017
13:21:20
часть - в редисе, часть - в mysql-е?

Fike
11.07.2017
13:22:50
> хранить что-либо в redis

Страница 38 из 142