![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DB
文章平均质量分 78
Hellboy_M
要做一个有思想有头脑的程序员,而不要沦为一个只会coding的机器!快乐Coding,快乐Living!
展开
-
SQL优化技巧总结
select_type查询类型,SIMPLE(普通查询,即没有联合查询、子查询)、PRIMARY(主查询)、UNION(UNION中后面的查询)、SUBQUERY(子查询)等。看似只返回了10条数据,但数据库引擎需要查询10010条记录,然后将前面的10000条丢弃,最终只返回最后的10条记录,性能可想而知。更新操作时,为了保证表数据的准确性,通常会加锁,为了提高系统的高并发能力,我们通常建议采用。rows查找到记录所扫描的行数,SQL优化重要指标,扫描的行数越少,性能越高。...转载 2022-07-19 23:35:28 · 94 阅读 · 0 评论 -
Redis和Mysql如何保持数据一致性?
1、导致数据不一致的原因在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。读取缓存步骤一般没有什么问题,但是一旦涉及到数据更新,数据库和缓存更新,就容易出现缓存(Redis)和数据库(MySQL)间的数据一致性问题。用户shi'yong读取数据的业务流程...转载 2022-03-21 14:57:29 · 772 阅读 · 0 评论 -
redis的延迟双删策略总结
1、什么是延迟双删?延迟双删策略是分布式系统中数据库存储和缓存数据保持一致性的常用策略,但它不是强一致。其实不管哪种方案,都避免不了Redis存在脏数据的问题,只能减轻这个问题,要想彻底解决,得要用到同步锁和对应的业务逻辑层面解决。2、为什么要进行延迟双删?一般我们在更新数据库数据时,需要同步redis中缓存的数据,所以存在两种方法:第一种方案:先执行update操作,再执行缓存清除。第二种方案:先执行缓存清除,再执行upd...原创 2022-03-21 15:11:01 · 43047 阅读 · 24 评论 -
慢sql治理经典案例分享
该文章来源于微信公众号——“阿里技术”,在此整理以便于自己学习,感谢“阿里技术”。菜鸟供应链金融慢sql治理已经有一段时间,自己负责的应用持续很长时间没有慢sql告警,现阶段在推进组内其他成员治理应用慢sql。这里把治理过程中的一些实践拿出来分享下。一 全表扫描1 案例SELECT count(*) AS tmp_count FROM ( SELECT * FROM `XXX_rules` WHERE 1 = 1 ORDER BY gmt_create DESC ) a2 溯源.转载 2022-02-28 10:13:40 · 138 阅读 · 0 评论 -
MySQL 中 blob 和 text 数据类型详解
此文章转载至微信公众号——大数据技术前线,便于自己学习使用。1. blob 类型blob(binary large object) 是一个可以存储二进制文件的容器,主要用于存储二进制大对象,例如可以存储图片,音视频等文件。按照可存储容量大小不同来分类,blob 类型可分为以下四种: 类型 可存储大小 用途 TINYBLOB 0 - 255字节 短文本二进制字符串转载 2022-02-23 15:22:50 · 6395 阅读 · 0 评论 -
Redis 16 个常见使用场景
此文章转载至微信公众号——Java后端技术,便于自己学习使用。1、缓存String类型例如:热点数据缓存(例如报表、明星出轨),对象缓存、全页缓存、可以提升热点数据的访问数据。2、数据共享分布式String 类型,因为 Redis 是分布式的独立服务,可以在多个应用之间共享例如:分布式Session<dependency> <groupId>org.springframework.session</groupId> <转载 2022-02-23 14:56:57 · 109 阅读 · 0 评论 -
内存耗尽后,Redis会发生什么?
此文章整理自微信公众号——“JAVA葵花宝典”,以便学习使用。前言作为一台服务器来说,内存并不是无限的,所以总会存在内存耗尽的情况,那么当 Redis 服务器的内存耗尽后,如果继续执行请求命令,Redis 会如何处理呢?内存回收使用Redis 服务时,很多情况下某些键值对只会在特定的时间内有效,为了防止这种类型的数据一直占有内存,我们可以给键值对设置有效期。Redis 中可以通过 4 个独立的命令来给一个键设置过期时间:expire key ttl:将 key 值的过期时间设置为 tt转载 2022-02-23 11:13:00 · 280 阅读 · 0 评论 -
mysql数据库允许远程访问
grant all privileges on *.* to root@"%" identified by "password" with grant option; flush privileges;原创 2021-08-05 23:24:26 · 68 阅读 · 0 评论 -
redis+mysql
redis和mysql要根据具体业务场景去选型mysql:数据放在磁盘 redis:数据放在内存redis适合放一些频繁使用,比较热的数据,因为是放在内存中,读写速度都非常快,一般会应用在下面一些场景排行榜、计数器、消息队列推送、好友关注、粉丝首先要知道mysql存储在磁盘里,redis存储在内存里,redis既可以用来做持久存储,也可以做缓存,转载 2017-07-26 15:27:52 · 757 阅读 · 0 评论 -
MYSQLBLOB字段大小以及个数的限制测试
测试结论mysql版本 5.1表类型: innodb, row_format=compact (这是默认的行格式)插入超过10个blob, blob的数据量很小(插入超过10个blob, blob的数据量很大(>768字节), 插入失败:报 Got error 139 from storage engine。注意,如果mysql服务器版本是5.1, innodb转载 2016-05-05 10:49:12 · 678 阅读 · 0 评论 -
mysql导出视图没有权限
在使用mysql视图是出现问题: The user specified as a definer ('root'@'%') does not exist。 一般是由于root用户对全局host无访问权限。因此只要给root用户添加一个访问权限即可。 解决办法: 登陆mysql ,执行 mysql -u root -pPasswd mysql >grant all pr原创 2016-05-04 16:07:41 · 3421 阅读 · 0 评论 -
解决mysql保存中文数据乱码
1、到安装目录修改my.ini文件, 将文件中下面的变量改成如下[mysql] default-character-set=gbk [mysqld] character-set-server=utf8 重新启动服务,最后得出经验时只要把导入与导出编码统一一下就没问题了。2、数据库的编码:在sqlyog工具中操作把,右击数据库点击更改数据库,如图:设置就可转载 2016-03-12 14:51:14 · 3100 阅读 · 0 评论