drop index idx_t;create index idx_t on t(owner desc,object_type asc); select /*+index(a,idx_t)*/ * from t a order by owner desc ,object_type asc;执行计划-------------------------------------------------------------------------------------| Id  | Operatio…
做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 昨天分享了Mysql中的 explain 命令,使用 explain 来分析 select 语句的运行效果,如 :explain可以获得select语句使用的索引情况.排序的情况等等.链接:顺便提到了explain extended,有小伙伴留言说想知道一些explain extended,那今天就在简单讲解一下. 一.explain extended说明 我昨天的文章使用explain extended是在mysql…
反键索引又叫反向索引,不是用来加速数据访问的,而是为了均衡IO,解决热块而设计的比如数据这样: 1000001 1000002 1000005 1000006 在普通索引中会出现在一个叶子上,如果部门数据需求极大,也就是热块,多个需求之间就会有请求竞争. 为了避开竞争 建反键索引 它会将数据逆转 1000001 2000001 5000001 6000001 这样索引键就不可能分布在一个叶子上.实现了IO分离,每个数据在索引中搜寻路径也就不一致了,解决了热点块竞争问题. 建立反键索引:SQL>…
前言: 由于新型冠状病毒影响,博主(zhang502219048)在2020年1月份从广东广州工作地回到广东揭阳产业转移工业园磐东街道(镇里有阳美亚洲玉都.五金之乡,素以“金玉”闻名)老家后,还没过去广州现场复工,年后又延迟复工 + 居家办公,并且在老家对原来房子进行简单装修,1月份到3月份没时间去写下博文.今天就来对居家办公期间摸索到的一个数据库编程技巧进行整理并分享给大家. 问题场景: 在大批量删除数据库表部分数据.archive数据的时候,如果数据库表的非聚集索引比较多比较大,会严重影响删…
摘要 最近做的一个项目涉及到了多条件的组合查询,数据存储用的是HBase,恰恰HBase对于这种场景的查询特别不给力,一般HBase的查询都是通过RowKey(要把多条件组合查询的字段都拼接在RowKey中显然不太可能),或者全表扫描再结合过滤器筛选出目标数据(太低效),所以通过设计HBase的二级索引来解决这个问题 查询需求 多个查询条件构成多维度的组合查询,需要根据不同组合查询出符合查询条件的数据 HBase的局限性 HBase本身只提供基于行键和全表扫描的查询,而行键索引单一,对于多维度的…
摘要 最近做的一个项目涉及到了多条件的组合查询,数据存储用的是HBase,恰恰HBase对于这种场景的查询特别不给力,一般HBase的查询都是通过RowKey(要把多条件组合查询的字段都拼接在RowKey中显然不太可能),或者全表扫描再结合过滤器筛选出目标数据(太低效),所以通过设计HBase的二级索引来解决这个问题 查询需求 多个查询条件构成多维度的组合查询,需要根据不同组合查询出符合查询条件的数据 HBase的局限性 HBase本身只提供基于行键和全表扫描的查询,而行键索引单一,对于多维度的…
建表SQL phone.book表建立索引 [关联优化查询建议] 1.保证被驱动表的join字段已经被索引 被驱动表  join 后的表为被驱动表  (需要被查询) 2.left join 时,选择小表作为驱动表,大表作为被驱动表. 但是 left join 时一定是左边是驱动表,右边是被驱动表 3.inner join 时,mysql会自己帮你把小结果集的表选为驱动表. mysql 自动选择.小表作为驱动表.因为 驱动表无论如何都会被全表扫描?.所以扫描次数越少越好. 4.子查询尽量不要放在被…
前言: 半个月前发了文章 SQLServer聚集索引导致的插入性能低 终于等到生产环境休整半天,这篇文章是对前文的实际操作. 以下正文开始: 异常:近期发现偶尔有新数据插入超时. 分析:插入条码有多种规则,导致数据表页面重排,造成性能剧烈下降.   解决方案: 将基于Barcode的聚集索引更改到ID聚集索引(使新数据始终在尾部添加,避免数据页面重排), 以损失微量Barcode查询性能,换取大幅度提升新数据插入性能.                                       …
server{ listen ssl; server_name a.xxxxx.com; root /home/wwwroot/default/asqumo; ssl_protocols TLSv1. TLSv1. TLSv1; ssl_certificate a.xxxxx.com.crt; ssl_certificate_key a.xxxxx.com.key; ssl_prefer_server_ciphers on; # access_log /home/wwwlogs/accesslo…
一.背景 随着公司业务的发展,商品库存从商品中心独立出来成为一个独立的系统,承接主站商品库存校验.订单库存扣减.售后库存释放等业务.在上线之前我们对于核心接口进行了压测,压测过程中出现了 MySQL 5.6.35 死锁现象,通过日志发现引发死锁的只是一条简单的sql,死锁是怎么产生的?发扬技术人员刨根问底的优良传统,对于这次死锁原因进行了细致的排查和总结.本文既是此次过程的一个记录. 在深入探究问题之前,我们先了解一下 MySQL 的加锁机制. 二.MySQL 加锁机制 首先要明确的一点是 My…