专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

mysql 查询每组数量,mysql数据表规模九千万左右_数据库

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/5 16:21:05       共计:3589 浏览
mysql 查询每组数量,mysql数据表规模九千万左右?

我的天啦,一个表九千万也是了不得了!

我上家公司明确规定,一张表不能超过5000万,因为查询效率会有更大的降低!

无论如何,看下如何优化数据查询吧!

①,单库单表:

1,加索引,一个好的索引能用空间换取查询时间的大为降低!

2,使用存储过程:减少sql编译的时间!

3,优化sql:包括联合查询的指向,where,order语句使用索引字段,减少使用多表联合查询,不要使用select *等等!

4,参数配置:扩大内存,调节线程池参数等等!

5,开启缓存:开启二级缓存,三级缓存,提升查询效率!

②,单库多表:

使用水平拆分(比如按月份),将表分为12张表,然后在代码端按照月份访问相应月份的表!

使用垂直拆分:很多字段只是作为保存记录用,(像一些约定,备注啥的字段往往很大),可以将查询中常常用到的字段放在常用的一张表中做查询,另一些字段放另一张表中存储,通过某个唯一索引字段联系起来,可以保证查询效率大为提升(因为磁盘IO减少)!

③,多库多表:

①,主从读写分离:表中数据虽然还是一致,但是由于多个从库读,主库写数据,大大减少共享锁的性能开销!

②,分库分表:指定一个字段作为,分库字段,利用hash值或者其它策略,分布在不同的库里面,在按照相应分布策略(比如上面的水平拆分或者垂直拆分),分散到不同的表里!

比如我们现在的数据库设计为8库1024表,你的将近一亿的数据在我们的单张表里面只有不到10W!

虽然理论上,一张表的大小不做任何限制,但是基于查询效率,索引性能等,不宜超出5000万数据!

关于多线程,分布式,微服务,数据库,缓存的更多干货,会继续分享,敬请关注。。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:mysql分组查询总数,有哪些堪称神器的工具或软件_数据库 | ·下一条:mysql 查询某个进程,为什么查询使用索引就会快_数据库

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有