如何设计一个能够高效查询的千万级MySQL数据库?

 我来答
猪八戒网
2023-04-03 · 百度认证:重庆猪八戒网络有限公司官方账号
猪八戒网
猪八戒网(zbj.com)创建于2006年,现已形成猪八戒网、天蓬网和线下八戒工场的“双平台+一社区”服务模式,是中国领先的人才共享平台。
向TA提问
展开全部

我们先探讨非高并发量的实现。

对于查询频次较高的字段,加上索引。

加索引注意事项:1.对那些字符内容较长的最好不要加索引2.按照官方文档,单表加的索引不要超过16个,索引的长度不要超过256个字节。随意加索引,会给数据维护增加负担

其实,可以引入分区。

分区注意事项:1.常见的分区类型有range,list,hash,key等。用的比较多的就是range分区。2.对于初始建立索引的时候,我们往往会忽视一个前提条件,导致添加失败报错。这里的前提是,如果表是有主键的,分区的键和主键不是同一个,那么分区的键也必须是主键。

引入分区后,数据写入时,数据库会自动判断写入哪个分区

对于并发量较高的,我们除了做上面的操作外,就要考虑分库分表或者采用一主多从的方式。

未来我相信这类问题需要采用NewSQl这类数据库来解决,如TiDb等,此时,我们将不必考虑数据分区的问题,而且可以做到数据水平无限扩展,和热点数据的动态分布。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式