
数据库
文章平均质量分 81
清墨迹染
悟来时见江海古,苍崖行遍谒玄门;向道偶题人间事,一笛一剑一昆仑
展开
-
不走索引的一些情形——替你们躺过的坑
参与一场面试,jvm、多线程、架构设计一一过关,最后死在了这看似简单,但却因为大意忽视了的sql优化上,这里把知道的一些情形都整理罗列出来,防止再次踩坑!列与列对比某个表中,有两列(id和c_id)都建了单独索引,下面这种查询条件不会走索引select * from test where id=c_id;这种情况会被认为还不如走全表扫描。测试如下explain select * from product where PRODUCT_ID =100101 ;当有两个带索引的列比较时存在NU原创 2021-05-07 00:20:33 · 931 阅读 · 0 评论 -
记一次mycat日活量数亿级别分库分表方案及数据迁移
先说一下业务场景。项目是负责公司短信下发的,目前每日下发量大概在千万级别,采取了每天一张表的分表方案,但为了后续新的发送方接入,需要支持每日近亿级别的发送量,此时每天一张发送日志表的分表方案明显已不再支持。经过激烈讨论,我们引入了mycat的解决方案。考虑到发送量的大小,我们对发送日志表进行了分库分区操作,保证每一个库和区能够均匀承担数据压力,我们决定对两个字段进行取模。即手机号对200取模决定在哪一个库(分了两百个库,每天一个分区),再传入日期(比如20200127),决定数据落在哪一个分区。myca原创 2021-01-27 17:26:04 · 581 阅读 · 0 评论 -
SELECT * 为什么效率低
一、效率低的原因不需要的列会增加数据传输时间和网络开销用“SELECT * ”数据库需要解析更多的对象、字段、权限、属性等相关内容,在 SQL 语句复杂,硬解析较多的情况下,会对数据库造成沉重的负担。增大网络开销;* 有时会误带上如log、IconMD5之类的无用且大文本字段,数据传输size会几何增涨。如果DB和应用程序不在同一台机器,这种开销非常明显即使 mysql 服务器和客户端是在同一台机器上,使用的协议还是 tcp,通信也是需要额外的时间。对于无用的大字段,如 varchar、blob、t原创 2020-08-07 18:01:03 · 495 阅读 · 0 评论 -
linux环境下部署oracle——三步搞定版(绝对简单!)
目前网上各种版本的安装oracle数据库需要修改各种配置文件,安装可视化软件比较复杂,这里提供一种基于docker的简单安装运用版本废话不多说,直接敲命令1、启动Dockersystemctl start docker拉取镜像docker pull jaspeen/oracle-11g本地下载oracle文件,上传并解压至/serverroot编辑环境变量 vi /etc/pro...原创 2020-04-16 16:56:36 · 673 阅读 · 0 评论 -
Mysql索引数据结构及原理
什么是索引?索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:==索引是一种数据结构。这些数据结构以某种方式引用(指向)数据,==这样就可以在这些数据结构上实现高级查找算法。这种数据结构就是索引。索引特点:加速查询,但更新和增加慢索引的几种分类:1、UNIQUE,唯一索引,可以为null,但不能重复2、INDEX 普通索引3、Promary ...原创 2019-10-29 14:46:07 · 408 阅读 · 0 评论