Size: a a a

2020 June 11

DE

Denis Efremov in MySQL
А где ты выводишь это?
источник

DE

Denis Efremov in MySQL
Александр Бобров
Конечно проще, это прям в идеале ) Ну вопрос по замене собственно был ) Не работал запрос, из-за того что я ковычки не те поставил )
источник

АБ

Александр Бобров... in MySQL
Спасибо!
источник

DE

Denis Efremov in MySQL
Это в любом браузере будет работать, кроме разве что линкса
источник

DE

Denis Efremov in MySQL
Это как пример био в телеге. Там написано 21 y. o. и это верх тупизма, потому что чем каждый год править, можно написать год рождения один раз
источник

АБ

Александр Бобров... in MySQL
Ребята, вторую неделю мучаюсь с запросом. У меня есть таблица сообщений (переписки между пользователями), мне нужно вывести список диалогов (кто с кем общался) и последнее сообщение в каждом.
Основная проблема что у меня даты сообщений не порядковому номеру ID, т.е у сообщения с большим ID может быть дата меньшая.
Составил вот такой запрос который для меня работает, но на таблице с 50 000 строк он выполняется около 0.3 секунды.
Помогите оптимизировать пожалуйста, в какую сторону капать?

Таблица:
CREATE TABLE mail_message (
 id int(11) UNSIGNED NOT NULL COMMENT 'ID',
 date int(11) UNSIGNED DEFAULT NULL COMMENT 'Datetime',
 sender_id int(11) UNSIGNED NOT NULL COMMENT 'Sender',
 receiver_id int(11) UNSIGNED DEFAULT NULL COMMENT 'Receiver',
 text longtext COMMENT 'Text',
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Mail Messages';

Ключи:
ALTER TABLE mail_message
 ADD PRIMARY KEY (id),
 ADD KEY sender_id (sender_id),
 ADD KEY receiver_id (receiver_id),
 ADD KEY date (date);
ALTER TABLE mail_message
 MODIFY id int(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID';

Мой запрос на выборку:
SELECT mail_message.* FROM mail_message
INNER JOIN
 (SELECT sender_id, receiver_id, MAX(date) AS max_date FROM mail_message GROUP BY sender_id, receiver_id) m
ON
 m.sender_id = mail_message.sender_id AND m.receiver_id = mail_message.receiver_id AND m.max_date = mail_message.date
GROUP BY
 sender_id, receiver_id ORDER BY date DESC
http://i.imgur.com/jtXEXww.png
источник

IZ

Ilia Zviagin in MySQL
Александр Бобров
Ребята, вторую неделю мучаюсь с запросом. У меня есть таблица сообщений (переписки между пользователями), мне нужно вывести список диалогов (кто с кем общался) и последнее сообщение в каждом.
Основная проблема что у меня даты сообщений не порядковому номеру ID, т.е у сообщения с большим ID может быть дата меньшая.
Составил вот такой запрос который для меня работает, но на таблице с 50 000 строк он выполняется около 0.3 секунды.
Помогите оптимизировать пожалуйста, в какую сторону капать?

Таблица:
CREATE TABLE mail_message (
 id int(11) UNSIGNED NOT NULL COMMENT 'ID',
 date int(11) UNSIGNED DEFAULT NULL COMMENT 'Datetime',
 sender_id int(11) UNSIGNED NOT NULL COMMENT 'Sender',
 receiver_id int(11) UNSIGNED DEFAULT NULL COMMENT 'Receiver',
 text longtext COMMENT 'Text',
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Mail Messages';

Ключи:
ALTER TABLE mail_message
 ADD PRIMARY KEY (id),
 ADD KEY sender_id (sender_id),
 ADD KEY receiver_id (receiver_id),
 ADD KEY date (date);
ALTER TABLE mail_message
 MODIFY id int(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID';

Мой запрос на выборку:
SELECT mail_message.* FROM mail_message
INNER JOIN
 (SELECT sender_id, receiver_id, MAX(date) AS max_date FROM mail_message GROUP BY sender_id, receiver_id) m
ON
 m.sender_id = mail_message.sender_id AND m.receiver_id = mail_message.receiver_id AND m.max_date = mail_message.date
GROUP BY
 sender_id, receiver_id ORDER BY date DESC
http://i.imgur.com/jtXEXww.png
Если Ваня общался с Петей, а Петя общался с Ваней , это два диалога или один?
источник

АБ

Александр Бобров... in MySQL
1
источник

АБ

Александр Бобров... in MySQL
Мой запрос иделаьно пашет, он собирает уникальные пары sender_id и receiver_id и выводит последнее сообщение которое там было и его дату, но выполняется пипец долго (
источник

IZ

Ilia Zviagin in MySQL
Александр Бобров
Мой запрос иделаьно пашет, он собирает уникальные пары sender_id и receiver_id и выводит последнее сообщение которое там было и его дату, но выполняется пипец долго (
Твой то задпрос написан как 2 диалога
источник

V

Vladyslav in MySQL
функция RAND мускула. Как вы к ней относитесь? я чет такое читал что оно проц жрет
источник
2020 June 12

IZ

Ilia Zviagin in MySQL
Vladyslav
функция RAND мускула. Как вы к ней относитесь? я чет такое читал что оно проц жрет
Да с чего? Это тупо вызов стандартной Rand из CRT.
источник

Vs

Vladislav support.od... in MySQL
Ilia Zviagin
Да с чего? Это тупо вызов стандартной Rand из CRT.
CRT имеет много значений, для меня это монитор на основе трубы (cathode ray tube, CRT)
источник

DE

Denis Efremov in MySQL
источник

DE

Denis Efremov in MySQL
Мне понравилось Current Reality Tree
источник

DE

Denis Efremov in MySQL
Victor
(питон, пхп) + sql
Но пишу это громко, в основном делаю различную автоматизацию ))))) сейчас плотно занимаюсь изучением админства mysql. postgres
источник

V

Victor in MySQL
Пятницы ждал?
источник

IZ

Ilia Zviagin in MySQL
Vladislav support.od.ua
CRT имеет много значений, для меня это монитор на основе трубы (cathode ray tube, CRT)
C run time
источник

s

sinecuraweb corp. in MySQL
подскажите почему не применяется реплейс к строкам?

UPDATE x_receivers  SET scan_1 = REPLACE(scan_1, '%files/viewid%', 'files/view?id=') where (scan_1  LIKE "%files/viewid%" or scan_2  LIKE "%files/viewid%");


в выборке where 323 итема , но изменений 0
источник

S

Syntax Highlight Bot in MySQL
sinecuraweb corp.
подскажите почему не применяется реплейс к строкам?

UPDATE x_receivers  SET scan_1 = REPLACE(scan_1, '%files/viewid%', 'files/view?id=') where (scan_1  LIKE "%files/viewid%" or scan_2  LIKE "%files/viewid%");


в выборке where 323 итема , но изменений 0
источник