mysql
文章平均质量分 55
冲冲冲 干就完了!
记录一下日常的错误,以及记录一些比较nb的技术。
展开
-
联合索引、覆盖索引和索引下推
联合索引(也叫组合索引、复合索引、多列索引)是指对表上的多个列进行索引。联合索引的创建方法跟单个索引的创建方法一样,不同之处仅在于有多个索引列。下面我们给出一个需求:查询表中以字母"L"开头的姓名及年龄。1、常规的写法(回表查询)优化写法(索引覆盖)因为我们要查询name和age。原创 2023-05-08 10:08:12 · 611 阅读 · 1 评论 -
利用mybatis拦截器注解处理sql
/ 通过mybatis的反射来获取对应的值,目的是找到方法的基础信息。建个类 实现 Interceptor接口,重写intercept方法;// id字段对应执行的SQL的方法的全路径,包含类名和方法名。这样就可以在每条sql的时候做判断,方便做统一处理。// 动态加载类并获取类中的方法。// 获取方法上的注解以及注解对应的参数。// 反射获取参数对象。// 获取拦截器拦截的设置参数对象。//获取名称 用来判断是否是入参。//首先获取该xml信息。//获取参数,然会做处理。原创 2023-02-06 12:01:23 · 840 阅读 · 0 评论 -
数据库Case when的用法
Case when 的用法: 一旦满足了某一个WHEN, 则这一条数据就会退出CASE WHEN , 而不再考虑 其他CASE;Case when 的用法-- 搜索Case函数:Case函数(Case搜索函数): 判断表达式的真假,如果为真,返回结果;如果为假,返回else值;如果未定义else值,则返回空值(使用条件确定返回值);select name,id,(case when id=34 then salary*2 when i原创 2022-07-04 11:27:26 · 2621 阅读 · 0 评论 -
java启动数据源报错
1.首先检查配置文件数据库是否配置正确。2.检查你配置的数据源,如果你就引了spring的。那在配置类上添加@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})如果你也引入了阿里的包<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter原创 2022-05-19 14:47:49 · 526 阅读 · 0 评论 -
shardingsphere :数据库分库分表
首先拉jar包<!--导入数据库驱动--><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope></dependency><!--导入分库 shardingsphere--><depend原创 2022-05-19 11:45:21 · 427 阅读 · 0 评论 -
如何确保是否命中索引
在数据库中查询点击解释会有这个展示出来:我们只需要注意一个最重要的type 的信息很明显的提现是否用到索引:type结果type结果值从好到坏依次是:system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL一般来说,得保证查..原创 2022-03-10 11:25:53 · 1182 阅读 · 0 评论 -
mysql聚簇索引和非聚簇索引的区别
聚簇索引是mysql每一个表中都要有的一个索引,一般来说第一行的主键id就是聚簇索引,他是唯一的,不重复的,如果你没有选择主键,他会选择一个合适的当这个聚簇索引,如果都没有,那会自动生成一个列,用来当这个索引。mysql查询的时候可以根据这个聚簇索引直接查询到这个id的数据。而非聚簇索引则没有这些要求,可以建造很多,在查询的时候,他的叶子节点存储的是索引列的值,它的数据域是聚簇索引即ID。如下图:可以根据情况选择创建索引,当然索引并不是越多越好,开销和维护都会花费一定时间。所以要...原创 2022-01-26 16:26:01 · 1050 阅读 · 0 评论 -
mysql查询如何优化
mysql开启慢查询日志记录,先查看 show variables like '%quer%';参数说明:slow_query_log : 是否已经开启慢查询slow_query_log_file : 慢查询日志文件路径long_query_time : 超过多少秒的查询就写入日志log_queries_not_using_indexes 如果值设置为ON,则会记录所有没有利用索引的查询(性能优化时开启此项,平时不要开启)如何开启呢 set global slow_query_l原创 2022-01-26 16:07:52 · 1205 阅读 · 0 评论