自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 完成搜索扩展需求-按首字母、拼音、汉字查询

完成搜索扩展需求-按首字母、拼音、汉字查询 思路: 数据库表增加两个字段分别存储全拼和首字母简拼 插入/更新数据时把拼音同步更新 搜索接口需要实现参数分词,拼接以及sql 查询并返回结果 一、mysql 方面需要处理的问题 1、汉字提取首字母 fristPinyin : 此函数是将一个中文字符串的第一个汉字转成拼音字母 (例如:“李”->l) CREATE FUNCTION `fristPinyin`(P_NAME VARCHAR(255)) RETURNS varchar(255) CHARSE

2021-12-13 14:49:20 248

原创 redis 分布式锁

为什么需要分布式锁? 现在的业务应用通常都是微服务架构,这也意味着一个应用会部署多个进程,那这多个进程如果需要修改 MySQL 中的同一行记录时,为了避免操作乱序导致数据错误,此时,我们就需要引入【分布式锁】来解决问题。 想要实现分布式锁,必须借助一个外部系统,所有进程都去这个系统上申请【加锁】 而这个外部系统,必须要实现【互斥】的能力,即两个请求同时进来,只会给一个进程返回成功,另一个返回失败(或等待) 这个外部系统,可以是 MySQL,也可以是 Redis 或 Zookeeper。但为了追求更好的性能

2021-06-15 18:02:51 126

原创 volatile

来自:https://mp.weixin.qq.com/s/Oa3tcfAFO9IgsbE22C5TEg Volatile JMM(JavaMemoryModel) JMM:java内存模型,是java虚拟机规范中所定义的一种内存模型,java内存模型是标准化的,屏蔽了底层不同计算机的区别 现代计算机的内存模型 早期,计算机的内存和cpu的速度是差不多的, 现在,cpu的指令速度远超内存的存取速度,有几个数量级的差距 所以计算机系统不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存来作为内存与处理器之

2020-08-31 21:59:00 174

原创 索引是怎么加速查询的

索引是怎么加速查询的 事实上,在你还没有执行 create index 语句的时候,MySQL 就已经创建索引了。 1、聚簇索引 mysql5.5之后的默认存储引擎是innoDB,mysql还支持另一个存储引擎–MylSAM MySQL为保持版本兼容,依旧使用最多3字节的UTF8字符集,并在MySQL 5.5.3版本引入UTF8MB4字符集来支持4字节的Unicode字符。 执行建表语句: CREATE TABLE `student` ( `id` BIGINT UNSIGNED AUTO_INCREM

2020-08-25 23:03:34 683

原创 索引

数据库索引 问: 索引有哪些数据类型?索引是怎么样的一种结构?哪些字段又适合索引呢?B+的优点?聚合索引和非聚合索引的区别?为什么说索引会降低插入、删除、修改等维护任务的速度? **问:**索引有哪些数据结构? hash、B+ 问: 为什么哈希表、完全平衡二叉树、B树、B+树都可以优化数据,为何MySQL唯独喜欢B+树? 如果采用hash的底层结构的话 注意:字段值所对应的数组下标是哈希算法随机算出来的,所以可能出现哈希冲突。 对于这样一个索引结构,现在来执行下面的sql语句: select * fro

2020-08-24 22:36:30 349

原创 sql调优

数据库调优 数据库的组成 我们所谓的调优也就是在,执行器执行之前的分析器,优化器阶段完成的。 一般在开发涉及SQL的业务都会去本地环境跑一遍SQL,用explain去看一下执行计划,看看分析的结果是否符合自己的预期,用没用到相关的索引,然后再去线上环境跑一下看看执行时间(这里只有查询语句,修改语句也无法在线上执行) 排除缓存干扰 因为在MySQL8.0之前我们的数据库是存在缓存这样的情况的 我们在执行SQL的时候,记得加上SQL_No_Cache去跑SQL,这样跑出来的时间就是真实的查询时间了。 SEL

2020-08-22 15:01:25 1083

原创 了解http

HTTP 参考:https://mp.weixin.qq.com/s/AK1Pb9rx0q5Hf8dq6HNOhw 了解http 什么是http? 超文本传输协议 – HyperText Transfer Protocol 什么是超文本? 例如HTML、css、js和图片等,HTTP的出现是为了接收和发布HTML页面,经过不断的发展也可以用于接收一些音频,视频,文件等内容 HTTP协议是用于客户端和服务器之间的通信,用于客户端和服务器端之间的通信有HTTP协议和TCP/IP族在内的其他众多协议 请求

2020-07-18 18:16:51 325

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除