
mysql
shrek11
我好 才是大家好
展开
-
mysql 分组后 求某个字段最大的记录
比如我们有些需求,需要查找每个省市最新的记录,原数据是这样的现在我要返回每个省市里日期最新的那条记录。mysql里我们可以这样写select id, vdate, type , province_city, price_change, price,last_update_date,last_update_by,longitude,latitude from ( select * from steel_price_management order by vdat原创 2021-03-30 15:38:05 · 443 阅读 · 0 评论 -
mysql 的一些 优化经验 记录
将一个大连接查询(JOIN)分解成对每一个表进行一次单表查询,然后将结果在应用程序中进行关联,这样做的好处有:让缓存更高效。对于连接查询,如果其中一个表发生变化,那么整个查询缓存就无法使用。而分解后的多个查询,即使其中一个表发生变化,对其它表的查询缓存依然可以使用。 分解成多个单表查询,这些单表查询的缓存结果更可能被其它查询使用到,从而减少冗余记录的查询。 减少锁竞争; 在应用层进行连接...原创 2020-06-29 12:19:48 · 257 阅读 · 0 评论 -
springboot 秒杀系统(三)百万级高并发服务间同步通讯优化
分布式系统的思想就是:如果一个系统的压力过大,可以把一个服务拆分成多个服务,这个叫垂直拆分。也可以考虑做镜像集群,负载平衡,这个叫水平拆分。这个系统我们可以考虑垂直拆分,将订单相关的功能拆分出来。我们将订单的逻辑拿出来,放到order-service中,通过backend来调用order-service来创建订单。服务:backend 接受客户端请求,判断useri...原创 2019-12-16 16:38:28 · 3776 阅读 · 4 评论 -
springboot 实现读写分离,分库分表 (三) 使用SHARDINGJDBC分表
我们知道,当表的数量大于一定限度的情况下,操作起来就非常慢所以我们就可以把表分成拆分成多个表保存,比如我一个user表,未拆分前,有五千万条数据,我们就可以把它拆成10个表来保存,当然你的主键是一个有序自增长的序列,这个自增长的ID必须在插入之前就分配,可以参考分布式ID生成机制(下个博客介绍),通过SHARDINGJDBC我们就可以设定一个规则,比如每个插入库的ID我...原创 2019-10-24 12:00:22 · 393 阅读 · 0 评论 -
springboot 实现读写分离,分库分表 (二) 使用SHARDINGJDBC读写分离
上个博客讲了MYSQL的主从配置,主从数据库配好了以后就可以实现读写分离了。一般读写分离,主库做增删改等操作,从库做查询操作。如果查询多的话,可以多做几天从库。SHARDINGJDBC最开始是由当当网开始的一个开源项目。由于反响好直接进入apache的孵化项目,更名为 SHARDINGSPHEREGITHUB项目地址:https://github.com/apache/i...原创 2019-10-22 23:30:44 · 419 阅读 · 0 评论 -
springboot 实现读写分离,分库分表 (一) mysql 5.7 主从数据库配置
一个系统往往最后的瓶颈就是数据库,所有现在出了分布式数据库的概念,但是部署分布式数据库对硬件和技术的成本要求更高。所以还是很多公司采用数据库主从和读写分离的技术来平摊数据的压力。数据的读写分离有MYCAT,SHARDINGJDBC等,下节介绍SHARDINGJDBC来实现读写分离,本章还是先把数据库的主从设置配好环境:2台centos7虚拟机,上面装了MYSQL5.7(...原创 2019-10-22 16:23:17 · 767 阅读 · 0 评论