我目前正在设计一个数据库,该数据库具有一个events插入(和更新)大量的表(我预测每分钟插入 1,000 到 5,000 次),但也需要按日期排序。
每个事件都有一个read布尔字段 ,并按(datetime)user_id排序。选择语句将类似于updated_atDESC
SELECT * FROM `events` WHERE `read`=0 AND `user_id`='<user id>' ORDER BY `updated_at` DESC
现在,我正在考虑在 、 和 上使用索引read来user_id优化updated_at获取和排序,但这是否意味着整个索引将在
UPDATE `events` SET `read`='1' WHERE `id`='<event id>'
?
在这种情况下,性能效率最高的(插入、更新、选择)解决方案是什么?