我目前正在设计一个数据库,该数据库具有一个events
插入(和更新)大量的表(我预测每分钟插入 1,000 到 5,000 次),但也需要按日期排序。
每个事件都有一个read
布尔字段 ,并按(datetime)user_id
排序。选择语句将类似于updated_at
DESC
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>'
?
在这种情况下,性能效率最高的(插入、更新、选择)解决方案是什么?