随笔分类 - MySql
摘要:当limit后面跟两个参数的时候,第一个数表示要跳过的数量,后一位表示要取的数量。 例如: SELECT * from user limit 1, 2; -- 表示跳过第一行的数据,取两个数据,也就是取第二、三行的数据。 当limit后面跟一个参数的时候,该参数表示要取的数据的数量。 例如: SEl
阅读全文
摘要:当我们谈论数据库优化时,经常会遇到各种技术和策略。其中,MySQL的虚拟列(也被称为生成列或存储列)是一个引人注目的特性。它不仅可以帮助开发者提高查询效率,还能为数据表提供额外的计算功能,而无需真正改变表的结构。在这篇文章中,我们将深入探讨MySQL虚拟列的发展、原理以及应用。 一、虚拟列的发展 在
阅读全文
摘要:在使用MySQL进行查询时,我们经常会遇到SQL执行没有按照我们预想的那样去使用某个索引优化查询,那怎么解决这个问题呢? 对于这个问题,MySQL给我们准备了三个方法,这三个方法可以帮助我们让SQL执行按照我们预想的那样去选择索引。今天我们就针对这三个方法分别来说说吧! use index:在你查询
阅读全文
摘要:create or replace view v_user_info as select 'SCYB' as `医保注册编码`, t.hilist_code as `医保编码`, t.hilist_name as `医保名称`, t.pinyin as `拼音码`, t.chrgitm_lv as
阅读全文
摘要:-- extra为json格式的扩展字段 -- 查询 select item_name as `名称`, item_code as `院内编码`, extra -> '$.nationCode' as `国家医保码`, extra -> '$.doseForm' as `剂型`, extra ->
阅读全文
摘要:1. MySQL ```sql -- 对于A、B两表,如果JGBM字段的值相同,就将B表的“信用代码”字段的值,赋给B表的“NEWJGBM”字段。 update ZD_JGZC_MAP_BIRTH as A, xydm as B SET A.NEWJGBM = B.信用代码 WHERE A.JGBM
阅读全文
摘要:### 假设yy_yp_yppcmx表,rkpcs字段最初设计的类型为varchar,上线后由于业务中传入数据较长,varchar类型已经装不下了(比如Oracle中varchar超过4K,将自动转为long类型,会导致插入失败),急需将该字段改为CLOB类型,稳妥的步骤如下: 1. 新增一个临时字
阅读全文
摘要:MySQL中的冷门索引类型 一、Hash索引 概念 基于哈希表实现,只有匹配所有列的查询才有效。对于每一行数据,存储引擎都会对所有索引列计算一个哈希码,哈希码是一个较小的值,不同键值的行计算出的哈希码也不一样。哈希索引将所有的哈希码存储在索引中,同时保存指向每个数据行的指针。 如果多个列的哈
阅读全文
摘要:图解 索引覆盖、索引下推、如何避免索引失效 为了更好地进行解释,我创建了一个存储引擎为InnoDB的表user_innodb,并批量初始化了500W+条数据。包含主键id、姓名字段(name)、性别字段(gender,用0,1表示不同性别)、手机号字段(phone),并为name和phone字段创建
阅读全文
摘要:查询执行计划: 执行查询语句之前,MySQL查询优化器会基于cost成本对一条查询语句进行优化,并生成一个执行计划。如果创建的索引太多,优化器会计算每个索引的搜索成本,导致在分析过程中耗时太多,最终影响查询语句的执行效率。 查询中,对索引扫描是在存储引擎中进行的,而对数据记录的比较是在Server层
阅读全文
摘要:mysql索引下推 前言 写博客是自己对知识梳理,目前是写给自己看,算是自己学习后的作业,也是为了养成一个良好的习惯。 一、什么是索引下推 索引下推(index condition pushdown )简称ICP,在Mysql5.6的版本上推出,用于优化查询; 在不使用ICP的情况下,在使用非主键索
阅读全文
摘要:回表: 查询的目标字段A无索引,或A上有索引但未作为查询条件; 查询条件B非聚簇索引,查询过程会先在B的索引树上扫描找到聚簇索引(通常是主键); 然后再通过主键到聚簇索引树上找到整条记录,这个过程就叫回表。 **索引覆盖:**查询的所有【目标字段】都直接能从索引上拿到,不需回表就称为索引覆盖,即索引
阅读全文
摘要:MySQL执行计划分析 innodb索引结构: 案例一: 3. 案例二: 案例三: 5. 案例四:
阅读全文