Оптимизируйте большую таблицу MySQL для более высокой задержки максимального запросаMySql

Форум по Mysql
Ответить
Anonymous
 Оптимизируйте большую таблицу MySQL для более высокой задержки максимального запроса

Сообщение Anonymous »

У меня есть следующая таблица в моем mysql db: < /p>

Код: Выделить всё

CREATE TABLE messages (
id         VARCHAR(36)   NOT NULL PRIMARY KEY,
chat_id    VARCHAR(36)   NOT NULL,
author_id  VARCHAR(36)   NOT NULL,
content    VARCHAR(500)  character set utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
visible    TINYINT NOT NULL DEFAULT 0,
request_id VARCHAR(128),
created_at BIGINT signed NOT NULL,
updated_at BIGINT signed NOT NULL,

UNIQUE INDEX messages_chat_id_created_at(chat_id, created_at DESC)
);
< /code>
Он имеет размер ~ 400 ГБ и ~ 700 миллионов строк.            SELECT
*
FROM
messages
WHERE
chat_id = :chatId
AND created_at 
Таблица постоянно растет, и, хотя в 90% случаев, которые извлекаются только самые последние данные, я должен держать старые сообщения в БД как из -за нашей политики удержания, так и для поддержки случаев, когда пользователи возвращаются к своим старым разговорам. 750 мс. < /P>
Index range scan on m using messages_chat_id_created_at, with index condition: ((m.chat_id = ?) and (m.created_at))

Rows returned: 10

Latency: 370.9 ms
Есть быстрая победа, которую я могу применить, чтобы немного ускорить вещи?

Подробнее здесь: https://stackoverflow.com/questions/797 ... ry-latency
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»