![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
sql
飞舞小云
编程的世界很精彩,你也可以
展开
-
mysql 建立索引的一个规则
一些人建立索引时,喜欢对大量字段做单个字段的索引,这样在一些情况下是不能很好的完成任务的,因为 mysql 在执行查询优化时,最终只会使用一个字段作为索引。 比如,一个在线社交网站,保存有性别(sex),年龄(age),国家(country),创建时间(createTime) 等等字段。需求是对性别/年龄搜索符合条件的用户,那么,一般人会建立如下索引 index_sex(sex), index_a...原创 2020-02-23 15:37:06 · 599 阅读 · 0 评论 -
SQL 语句的子查询例子
一个用来进行子查询的例子,相当的经典。最开始想实现这个查询时,费了很大的力气,关键是还没弄好,最后师傅出马,搞出来这么一个查询,在此记录,以供以后查看select userid, a from ( SELECT userid ,count(userid) as a from return_cash_coupon WHERE create_time BETWEEN '2015-08-24 00:0原创 2015-09-22 20:02:13 · 1774 阅读 · 0 评论 -
数据库设计的一个小问题
今天在检查线上数据时,发现一个问题,用户购买出行宝支付成功,也收到了支付成功的回调,但是用户看到的结果居然是购买失败,支付也是超时的,之后就开始检查到底是哪里出问题了,把用户的流程全部走一遍,包括支付的成功与回调时间,发现回调时间是在支付的10s 之内,说明支付没有问题,那么哪里出问题了呢?一时也看不出问题,就想着先给用户退款了,其他事情可以慢慢查。之后就给设置退款,发现退款失败,再去找日志,发现是原创 2016-04-11 16:25:49 · 326 阅读 · 0 评论 -
接口设计计数问题
在Action中,不应该出现count(*)/count(1)/count(col) 之类的统计行数的sql 查询语句,这种每次都要查几百行,比较消耗资源,设计此类接口时,就应该有可以计数的,否则就是有问题的。count(*)/count(1)/count(col) 的区别 count(*) 会由mqsql 优化到主键上做Count,速度与count(primary key) 相当, count(1原创 2016-06-06 15:09:50 · 480 阅读 · 0 评论 -
sql 查询男女
select t.card ,substr(card, 17,1 ) %2, case substr(card, 17,1) %2 when '1' then '男' else '女' end as gender from account_gtgj t原创 2016-07-11 19:01:32 · 3164 阅读 · 0 评论 -
更新一张表数据到另一张表sql
update user_add as ua, acc_gj as ag set ua.p = ag.p, ua.uid = ag.uid where ua.uid is null and ua.susid = ag.userid原创 2016-08-12 17:30:29 · 414 阅读 · 0 评论 -
SQL timediff 引发的血案
问题运行了半年的代码今天发现一个奇怪的bug ,select timediff(expire_time, current_timestamp) from table where id in('95770468189388801')直接执行,结果如下: 网络搜索之后发现可能是数据格式问题,再仔细观察返回报错信息,数据可能是相差的时分秒数,于是下面代码产生select time_to_sec(原创 2016-09-07 08:53:00 · 3062 阅读 · 0 评论 -
一次性添加多个字段
业务需求,需要添加多个字段,生产环境,需求尽快未完成,于是有了下面的sql ,ALTER TABLE MYTABLE ADD FIELD1 VARCHAR(10),ADD FIELD2 INT,ADD FIELD3 VARCHAR(1)转载 2017-02-03 11:41:23 · 8012 阅读 · 0 评论