面试官:为什么数据库索引底层常用B+树?
前言每当我们执行某个SQL发现很慢时,都会下意识地反应是否加了索引,那么大家是否有想过加了索引为啥会使数据查找更快呢,索引的底层一般又是用什么结构存储的呢,相信大家看了标题已经有答案了,没错!B+树!那么它相对于一般的链表,哈希等有何不同,为何多数存储引擎都选择使用它呢,今天我就来揭开B+树的面纱,
58本地服务少无结果场景下的推荐算法实践
01背景58同城APP是一个生活服务信息平台,用户可以在平台上寻找自己所需要的服务,商家可以在平台上展示自己可提供的服务。58本地服务主要为用户提供生活中的基础服务信息,58本地服务推荐场景主要包括大类页推荐、猜你喜欢和猜你想找等,本文主要介绍猜你想找的技术迭代。58本地服务大部分的流量来自于搜索入
你在 Docker 中跑 MySQL?恭喜你,可以下岗了!
容器的定义:容器是为了解决“在切换运行环境时,如何保证软件能够正常运行”这一问题。目前,容器和Docker依旧是技术领域最热门的词语,无状态的服务容器化已经是大势所趋,同时也带来了一个热点问题被大家所争论不以:数据库MySQL是否需要容器化?认真分析大家的各种观点,发现赞同者仅仅是从容器优势的角度来
SQL查找是否"存在",别再count了!
根据某一条件从数据库表中查询『有』与『没有』,只有两种状态,那为什么在写SQL的时候,还要SELECTcount(*)呢?无论是刚入道的程序员新星,还是精湛沙场多年的程序
面试官最爱的数据库索引连环问~
前段时间一直在面试,问了很多候选人数据库索引相关的知识,能答好的不是很多,令人惋惜啊,我也想留你啊……面试官:了解过数据库索引吗?候选人:听过一些,底层数据结构好像是二叉树,不对,好像是B树,哦,我想起来了,好像是B+树……(像极了当年面试的我)面试官:听过哈希索引吗?候选人:我知道哈希表,哈希索引
SQL零基础入门必知必会!
前言SQL语言有40多年的历史,从它被应用至今几乎无处不在。我们消费的每一笔支付记录,收集的每一条用户信息,发出去的每一条消息,都会使用数据库或与其相关的产品来存储,而操纵数据库的语言正是SQL!SQL对于现在的互联网公司生产研发等岗位几乎是一个必备技能,如果不会SQL的
是时候聊一聊ProxySQL功能测试了
ProxySQL是MySQL的高性能、高可用性、协议感知代理。支持包括读写分离、故障转换、query的过滤和路由等功能。本文将从Proxysql的基本功能测试、异常情况测试来聊聊ProxySQL功能。1.背景ProxySQL能为数据库的高可用和拓展提供以下两点服务:故障转移。当
同事删库跑路后,我连表名都不能修改了?
前言事情是这样的,前几天隔壁部门的哥们在生产环境的数据库上,执行了一下drop命令,好嘛,活生生的删库跑路的例子居然真的在我身边发生了,好在运维同学给力,后来恢复了数据。事后听说这哥们虽然没被开除,但也吃了个公司的警告。再然后,运维那边回收了所有环境下数据库的drop命令的权限,甚至包括了开发环境,
数据库索引,小白连环16问
这段时间一直在面试,问了很多候选人数据库索引相关的知识,能答好的不是很多,令人惋惜啊,我也想留你啊……面试官:了解过数据库索引吗?候选人:听过一些,底层数据结构好像是二叉树,不对,好像是B树,哦,我想起来了,好像是B+树……(像极了当年面试的我)面试官:听过哈希索引吗?候选人:我知道哈希表,哈希索引
如何在 Docker 中使用 Docker
你知道的越多,不知道的就越多,业余的像一棵小草!你来,我们一起精进!你不来,我和你的竞争对手一起精进!编辑:业余草https://t.hk.uy/abYW推荐:https://www.xttblog.com/?p=5277典型适用场景在CI中,通常会有一个CIEngine负责解析流程,控制整个构建过
Docker 常用命令大全
本文介绍内容包括“容器生命周期管理命令”、“容器操作命令”、“容器rootfs命令”、“镜像仓库命令”、“本地镜像管理命令”和“基础版本信息命令”。容器生命周期管理命令run创建一个新的容器。#使用docker镜像nginx:lat
必会的 5 条 SQL 查询优化法则!
这篇文章,是对SQL常用查询优化法则的总结,值得细看文章目录法则一:只返回需要的结果法则二:确保查询使用了正确的索引法则三:尽量避免使用子查询法则四:不要使用OFFSET实现分页法则五:了解SQL子句的逻辑执行顺序总结SQL作为关系
分析师必会的 5 条 SQL 查询优化法则 !
这篇文章,是对SQL常用查询优化法则的总结,值得细看文章目录法则一:只返回需要的结果法则二:确保查询使用了正确的索引法则三:尽量避免使用子查询法则四:不要使用OFFSET实现分页法则五:了解SQL子句的逻辑执行顺序总结SQL作为关系型数据库的标准语言,是分析师必不可少的技能之一。SQL本身并不难学,
少侠!如何写一手好 SQL ?
博主(编码砖家)负责的项目主要采用阿里云数据库MySQL,最近频繁出现慢SQL告警,执行时间最长的竟然高达5分钟。导出日志后分析
SQL 常用脚本整理
常用功能脚本1.导出整个数据库1mysqldump-u用户名-p–default-character-set=latin1数据库名>导出的文件名(数据库默认编码是latin1)23mysqldump-uwcnc-psmgp_apps_wcnc>wcnc.sql2.导出一个表1mysqld
PO,VO,DAO,BO,POJO 之间的区别,你懂吗?
VOvalueobject:值对象。通常用于业务层之间的数据传递,由new创建,由GC回收。POpersistantobject:持久层对象。对应数据库中表的字段。VO和PO都是属性加上属性的get和set方法;表面看没什么不同,但代表的含义是完全不同的。DTOdatatransferobject:
聊聊sql优化的几个真实场景
这里的主要是分享索引方面的调优,在工作中,很多同学都有建立索引的一些经验,但是是否有自己深入的思考过,怎么样建立索引才最合适。字符串怎么建立索引、怎么优化联合索引、怎么避免回表等一些问题
索引的使用规则和设计考虑
当我们建立好一个联合索引之后,我们的SQL语句要怎么写,才能让他的查询使用到我们建立好的索引呢?索引最基本的规则就是等值匹配了,就是where条件里的查询条件字段和联合索引的字段完全一样,都是基于等于来匹配的。最左侧列匹配,假如我们设计的索引是INDEX(class_name,student_nam
老大让我优化数据库,我上来就分库分表,他过来就是一jio。。。
一、朴实无华的-分表1、垂直分表2、水平分表二、花里胡哨的-分库3、垂直分库4、水平分库总结首先我们要知道分库、分表都是干啥的,本文主角还是我们的
Docker 入门终极指南,别再说不会用Docker了!
富Web时代,应用变得越来越强大,与此同时也越来越复杂。集群部署、隔离环境、灰度发布以及动态扩容缺一不可,而容器化则成为中间的必要桥梁。本节我们就来探索一下Docker的神秘世界,从零到一掌握Docker的基本原理与实践操作。别再守着前端那一亩三分地,是时候该开疆扩土了。我们将会围绕下面几点展开:讲