首页 > 百万行的表中是否尽量避免使用update等sql语句?

百万行的表中是否尽量避免使用update等sql语句?

每一行有一个状态字段,当用户点击“全部已读”,大概有指定的几十行的状态“0”改为“1”。

update是费劲的。

如何尽量避免?或者如何优雅使用?


没问题的。你update几行会有问题?那你explain sql看看吧


百万条数据都要已读?

--------以下是更新答案--------
这个得看你用的什么数据库,一般情况下百万条数据对于关系型的Oracle,DB2这些其实是没有杀伤力的。关键看你怎么用它。
这张表的数据是增量的,目前是百万以后可能是千万。所以,使用update,delete这些语句本身是没问题的。但是表设计我感觉可以适当改善下。

建议:
百万条数据,假如每个用户每次只用1000行数据。那剩下的那么多数据其实是可以放到一个历史拉链表中的。
用一个结果表(只存少部分数据)供用户操作,也就是说只保留一些未读消息之类的(这个看需求)

结论:
update的使用是没问题,但是数据库的设计也是很重要的。


-________-'' ~慢的原因应该是你的状态0和1,因为你要查找0的数据,然后更新。

所以问题在于:查找这几十条数据,应该是指定的数据id吧?根据id(主键或者有索引的条件)来更新,百万千万毫无问题。

【热门文章】
【热门文章】