数据库
决决怪
这个作者很懒,什么都没留下…
展开
-
千万级数据量表,快速添加索引思路!
前言增加字段相信大家应该都不陌生,随手就可以写出来,给 MySQL 一张表加字段执行如下 sql 就可以了:ALTERTABLEtbl_tplADDtitle(255)DEFAULT''COMMENT'标题'AFTERid;但是线上的一张表如果数据量很大呢,执行加字段操作就会锁表,这个过程可能需要很长时间甚至导致服务崩溃,那么这样操作就很有风险了。给 MySQL 大表加字段的思路① 创建一个临时的新表,首先复制旧表的结构(包含索引)createtable...原创 2021-02-26 16:58:58 · 658 阅读 · 0 评论 -
mysql数据库慢sql排查
目的:记录查询超过200ms的sql进行统计,通过结果进行对应的优化。默认情况下,MySQL数据库并不启动慢查询日志,需要手动开启配置。如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。操纵:开启配置1、慢sql查询是否开启SHOW VARIABLES LIKE 'log_slow_queries'; 开启 ON 关闭OFF 默认是OFF2、查看慢sql统计时间show variables like '%long_query_time%'..原创 2020-08-02 17:33:59 · 810 阅读 · 0 评论 -
大厂Redis 性能优化的 13 条军规
本文我们将使用以下手段,来提升 Redis 的运行速度: 缩短键值对的存储长度; 使用 lazy free(延迟删除)特性; 设置键值的过期时间; 禁用长耗时的查询命令; 使用 slowlog 优化耗时命令; 使用 Pipeline 批量操作数据; 避免大量数据同时失效; 客户端使用优化; 限制 Redis 内存大小; 使用物理机而非虚拟机安装 Redis 服务; 检查数据持久化策略; 禁用转载 2020-07-16 09:08:33 · 152 阅读 · 0 评论 -
redis面试:这一篇足以
1 、什么是 Redis?简述它的优缺点?Redis 的全称是:Remote Dictionary.Server,本质上是一个 Key-Value 类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据 flush 到硬盘上进行保存。因为是纯内存操作,Redis 的性能非常出色,每秒可以处理超过 10 万次读写操作,是已知性能最快的Ke...原创 2020-04-02 19:07:15 · 254 阅读 · 0 评论 -
redis命令拾遗
Redis数据类型Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合),zset(sorted set : 有序集合)String (字符串)string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。string类型是二进制安全的,意思是redis的string可以包含任何数...原创 2020-02-26 11:21:43 · 220 阅读 · 1 评论 -
redis淘汰策略内存算法
1、LRU算法LRU(Least Recently Used),即最近最少使用,是一种缓存置换算法。在使用内存作为缓存的时候,缓存的大小一般是固定的。当缓存被占满,这个时候继续往缓存里面添加数据,就需要淘汰一部分老的数据,释放内存空间用来存储新的数据。这个时候就可以使用LRU算法了。其核心思想是:如果一个数据在最近一段时间没有被用到,那么将来被使用到的可能性也很小,所以就可以被淘汰掉...原创 2020-02-26 11:16:46 · 265 阅读 · 0 评论 -
redis内存满了该怎么处理?(面试高发)
修改redis-conf中maxmemory来处理内存满了的问题1、增加redis内存空间命令如下:config set maxmemory 100mb2、使用内存淘汰命令如下:maxmemory-policy allkeys-lruredis内存淘汰的几种策略maxmemory-policy 参数指定的策略来删除不要需要的键直到redis占用的内存小于指定内存。n...原创 2020-02-26 11:13:45 · 325 阅读 · 0 评论 -
mybatis批量更新问题:在解决问题中不断突破自己
记一次mybatis批量更新bug修复过程版本一<update id="updateIsDelStatus" parameterType="java.util.List"> <foreach collection="list" item="item" index="index" separator=";" close="" open=""> updat...原创 2019-07-11 10:20:23 · 249 阅读 · 0 评论 -
NAVICAT常用快捷键
功能 操作 打开查询窗口 Ctrl + Q 注释SQL语句 Ctrl + / 取消注释SQL语句 Ctrl + Shift + / 运行查询窗口的SQL语句 Ctrl + R ...原创 2019-06-18 15:28:38 · 275 阅读 · 0 评论 -
Mybatis一级缓存和二级缓存理解
持久层框架:MybatisMybatis提供查询缓存分为一级缓存和二级缓存,用于减轻数据库压力,提高数据库性能。一级缓存的工作原理一级缓存是SqlSession级别的缓存 MyBatis的一级查询缓存是由 org.apache.ibatis.cache.impl.PerpetualCache 类的 HashMap本地缓存实现的,它的作用域则是SqlSession,它的作用域也...原创 2018-11-04 17:30:07 · 1484 阅读 · 0 评论 -
mysql优化
一、 sql优化分析和定位策略1、通过 show status 了解各种 SQL 的执行频率2、定位执行效率低的 SQL 语句:①通过慢日志定位;②使用 show processlist 命令查看当前在进行的线程3、通过 explain 分析低效 SQL4、通过 show profile 分析 SQL5、通过 trace 分析优化器的选择优化大批量插入数据,使用如下...原创 2018-09-06 15:49:35 · 173 阅读 · 0 评论 -
SQL大数据量分页性能优化
目前在进行web api只读接口的改造,在改造过程中,发现sql 执行的效率和测试实验1. 直接用limit start, count分页语句, 也是我程序中用的方法:select * from product limit start, count当起始页较小时,查询没有性能问题,我们分别看下从10, 100, 1000, 10000开始分页的执行时间(每页取20条), 如下:select *...原创 2018-06-06 14:33:37 · 1773 阅读 · 0 评论