最近就遇到有人问我这样一个问题,原题是:MySQL中,一个过千万甚至上亿数据的表,更新、查询都很频繁的字段,应该怎么合理的设置索引提高性能。
刚开始听到这个问题的时候,我是懵的。首先,大家都知道,MySQL中更新频繁的字段是不适合简历索引的,因为每次更新数据都要去维护索引信息,更何况还是一张超大数据的表,很可能一次更新就直接拖垮数据库了,所以这是一个不合理的问题。
既然问题是不合理的,那我们就应该转换思路了。
No1:问题是想问我们什么
思路一换,这本来就不是考怎么设置索引的问题,而是考数据库优化设计相关的"姿势"了。
No2:这么大数据的表应该怎么优化
如果真的有这么大数据的表,为了保证查询的速度,这个表肯定是要考虑做拆分的了,在数据库连接数可以满足的情况下,应该做分表了,采取读写分离,空间换时间。
No3:分表后怎么做数据同步
(这一步网上太多教程了,自由发挥了)
End