
数据库
一个非典型的程序员
我很害怕将来我有孩子时,我教给他(她)的第一句话不是爸爸或者妈妈,而是“Hello World!”
展开
-
MySQL语句in中包含1个值和多个值时索引选择的不同(索引建立时间先后会影响MySQL优化器)
表结构CREATE TABLE `ag_dealer_goods` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `item_id` bigint(20) NOT NULL COMMENT '商品ID', `status` tinyint(2) NOT NULL DEFAULT '0' COMMENT '报价状态: -1-已下架,0-待上架,1-已上架', `is_deleted` tinyint(1) NOT NULL DEFAULT '0' CO原创 2020-11-30 23:31:44 · 1533 阅读 · 2 评论 -
一条MySQL慢SQL优化(Join优化)
查询指定区划下的所有有效供应商1 慢SQL及背景ag_protocol_qualification 850万数据,ag_protocol35万数据explain select protocol_id as id , supplier_code from ag_protocol_qualification t1 where exists (select t2.id from ag_protocol t2 where t2.instance_code = 'HNDZMC' and t2.is_delete原创 2020-08-22 17:20:02 · 774 阅读 · 0 评论 -
脏读、幻读、不可重复读
对脏读、幻读、不可重复读较为准确的描述和定义。转载 2017-11-20 22:10:23 · 325 阅读 · 0 评论 -
Mybatis中的一个潜在错误
真的,我很难找到一个合适的标题给它。看代码通常查询需要传递各种参数,于是我们在项目中封装了一个查询参数对象,将各种可能的查询参数封装进这个对象中,然后在mapper文件中写了一个很长where语句,使用if来判断是否有值。如下方截取的片段,初看觉得没什么问题,通常情况下,bidIds和bidId不会同时使用,我们构造查询对象的时候只会对其中一个set值。 <if tes...原创 2018-04-14 09:55:12 · 455 阅读 · 1 评论 -
SQL语句like对null和空字符的不同处理
有形如下方的SQL语句,当field为null时,所对应的记录将返回;当field为“”(即空字符)时,记录就可以返回。SELECT *FROM xxx_tableWHERE field LIKE '%%';...原创 2018-05-02 17:29:20 · 7591 阅读 · 2 评论 -
MySQL datetime 精度
最近项目上需要存储一个截止时间,我和前端约定返回当天的最后一秒,即"yyyy-MM-dd 23:59:59"(实际是Date数据类型,返回的是一个时间戳)。于是,前端返回1552319999999,通过工具查看结果如下OK,没有问题,确实是返回了"yyyy-MM-dd 23:59:59"。但是测试反馈,时间存储不对,数据库显示的是what? 难道程序处理增加时间了?首先查看日志,从日志上看...原创 2019-03-09 16:10:10 · 8401 阅读 · 1 评论