MySQL
好好生活_
这个作者很懒,什么都没留下…
展开
-
【MySQL】表字段字符集不同导致的索引失效问题
问题背景在一次开发任务中,同事跟我说他开发的一个列表分页查询请求要耗时10多分钟,查询SQL是新建的一个表关联了两张主表,主表数据量较大。但正常情况下如果有索引的话,查询也不会慢,这显然是有问题的。问题原因通过排查,得知问题原因在于新建的表字符集用的是utf8mb4,而之前的两张主表的字符集设置的是utf8,SQL...原创 2020-04-26 17:28:11 · 945 阅读 · 1 评论 -
【数据库】MySQL索引,你了解多少?
【引言】索引,是我们在优化查询sql的场景中最先想到的解决方案。什么情况下需要建立索引,建立什么类型的索引,在什么字段上建立索引,这都是我们需要考虑的问题。对于上述问题,如果对索引的相关理论有很清晰的认识,就很容易处理了;反之,则只能是丈二和尚摸不着头脑,成不成功都靠运气。下面就总结一些关于索引的知识。索引是什么索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据...原创 2019-11-28 23:10:45 · 430 阅读 · 0 评论 -
【MySQL】java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x9' for column 插入国外文字失败解决方案
【引言】线上问题,Excel导入某字段是印度文,导入报错,插入Mysql失败,具体错误如下:Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x95 V...' for column '***' at row 1at com.mysql.jdbc.SQLError.createSQLExceptio...原创 2019-07-13 19:53:06 · 3233 阅读 · 0 评论 -
mysql find_in_set字符串查找函数
【项目需求】系统中,不论是订单还是退货单,有的平台使用需要卖家审核,有的则不需要,所以在系统中可以设置订单或退货单的流程节点。而对于每个流程节点,客户需求是每个节点都要根据系统下的员工的角色去做分发,从而订单指定到个人,而不是整个公司的员工都可以处理。【实现方案】对于上述场景,我实现的方案是在订单表和退货单表都增加了对应节点待处理人字段,多个人可处理的话,则用,分隔,保存对应员工的id集合...原创 2019-01-12 20:41:00 · 2034 阅读 · 1 评论 -
【MySQL】Packet for query is too large
【线上问题】昨天订单对接方反应,从我们平台系统下的单,没有传到他们的erp系统中。运营找我处理,因为手头上刚开始开发下周要上线的需求,就用之前写好的补偿机制接口同步过去,以为只是一个订单出问题了,也没查问题。后来,给我发了一堆订单号,说是都没有同步,只能去服务器上查问题了。错误如下:2018-10-23 13:03:36 [ qtp1867717141-13:4121860953 ] - [...原创 2018-10-24 20:29:48 · 374 阅读 · 2 评论 -
mysql group_concat合并多条记录某一字段
一个订单记录对应多个订单商品记录,如下:订单记录:SELECT o.order_sn,o.create_time,o.store_title,o.buyer_name,o.buyer_phone,o.buyer_address,o.wait_out_storage_total,o.back FROM wms_orders o WHERE o.order_sn='10000000002860...原创 2018-06-28 19:41:04 · 13077 阅读 · 1 评论 -
mysql 日期函数
最近一段时间带着几个人一起做了好多项目上的需求,有在新的微服务项目实现,也有在旧系统上做开发。在做代码review的过程中,看着每个人写sql都有着不一样的实现,让我看到了自己的不足,有些函数自己都不知道,从来都没有用过。所以参照mysql文档开始学习,点滴积累。1. ADDDATE()1)说明:ADDDATE()函数有两种使用形式,第一种使用和DATE_ADD()同义,可指定计算间隔时 ...原创 2018-06-10 17:38:40 · 7508 阅读 · 0 评论 -
mysql 控制流函数
1. CASE()1)说明:判断操作.2)语法: i. CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result …] [ELSE result] END 当value=compare_value时,返回resul...原创 2018-06-23 02:18:23 · 894 阅读 · 0 评论 -
mysql 字符串函数
1. CONCAT()1)说明:将字符串连接,可以是一个或多个字符串。若都是非二进制的字符,那么返回的结果也是非二进制的。若包含任何二进制字符,那么结果则是二进制的。若是数值型的,也将转换成非二进制的形式。若其中任意一个字符是NULL,则CONCAT()返回的结果为NULL.2)语法:CONCAT(str1,str2,…)3)实例: 2. CONCAT_WS()1)说明:表示...原创 2018-06-15 01:06:42 · 8913 阅读 · 0 评论 -
mysql 聚合函数
1. AVG()1)说明:返回表达式的平均值,加上DISTINCT可选项用来返回表达式中不同值的平均值。如果没有匹配到任何数据,AVG()返回NULL.2)语法:AVG([DISTINCT] expr)3)实例:(以现有项目的退货表查询为例)-- 查询退货单表wms_order_id不重复的结果数,不重复的order_money求和,不重复的order_money求平均SELE...原创 2018-06-20 21:14:08 · 1367 阅读 · 0 评论