数据库版本:5.6.16 update in 修改数据,结果执行时间过慢,一直不出结果. SQL语句及执行计划如下: UPDATE erp_order_extra SET last_time=123123123123  WHERE order_id IN (SELECT eo.order_id FROM jiuxianweb.erp_order eo WHERE eo.channel_ordersn='18161116045333705180'); +----+-----------------…
1.数据准备 mysql> select * from student; +----+--------+----------+---------+-------------+ | id | name   | idCardNo | isCadre | nickname    | +----+--------+----------+---------+-------------+ |  1 | Tom    | 350020   |       1 | Big T       | |  2 | Ji…
#转载请联系 索引是什么? 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的位置信息. 更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度. 为什么需要索引 一般的应用系统对比数据库的读写比例在10:1左右(即有10次查询操作时有1次写的操作),而且插入操作和更新操作很少出现性能问题,遇到最多.最容易出问题还是一些复杂的查询操作,所以查询语句的优化显然是重中之重.当数据库中数据量很大时,查找数据会变得很慢,我们就可以使用索…
1.优化查询精度 优化原因:当维度过多时,查询很复杂,效率较慢.因此看能否通过优化sql的方式来提高查询效率. 代码跟踪查看(维度多余3时查询条件里面有in,优化不用in关键字) public abstract class AbstractQuerySpec implements QuerySpec { protected Map<String, String> nonDistinctGenerateSql(SqlQuery sqlQuery){ String expr = column.ge…
在数据库设计的时候,我们经常会需要设计时间字段,在MYSQL中,时间字段可以使用int.timestamp.datetime三种类型来存储,那么这三种类型哪一种用来存储时间性能比较高,效率好呢?飘易就这个问题,来一个实践出真知吧. MYSQL版本号:5.5.19 建立表: CREATE TABLE IF NOT EXISTS `datetime_test` ( `id` int(11) NOT NULL, `d_int` int(11) NOT NULL DEFAULT '', `d_times…
看了好多资料都说 varchar(size) 可变长度的字符值,节省空间,查询效率低 char(size) 固定长度的字符值,浪费空间,查询效率高 但是实际测试  char(100)   varchar(100)   300W条数据 从查询方面的角度来说,还是varchar毕竟靠谱 查询效率(在没有使用索引的情况下):   varchar的字段查询要比char快 通过对比  char100 需要查询时间1.10s   而varchar100 需要时间是973ms  欢迎大家指正!!…
检索性能从快到慢的是(此处是听人说的): 第一:tinyint,smallint,mediumint,int,bigint第二:char,varchar第三:NULL 解释(转载): 整数类型1.TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT,分别用8,16,24,32,64存2.整数都有UNSIGNED可选属性 (拿tinyint字段来举例,unsigned后,字段的取值范围是0-255,而signed的范围是-128 - 127. 那么如果我们在明确不需要负值存在…
tbl_direct_pos_201506 表有 190 万数据.DDL: CREATE TABLE `tbl_direct_pos_201506` ( `acq_ins_code` char(13) NOT NULL DEFAULT '' COMMENT '机构代码', `trace_num` char(6) NOT NULL DEFAULT '' COMMENT '跟踪号', `trans_datetime` char(10) NOT NULL DEFAULT '' COMMENT '交易时…
1.内连接:将两个表中存在连结关系的字段符合连接条件的记录形成记录集 Select A.name,B.name from A inner join B on A.id=B.id和 Select A.name,B.name from A,B where A.id=B.id结果是一样的(内连接的inner关键字可省略): 2.外连接:分为左外连接和右外连接 左连接A.B表结果包括A的全部记录和符合条件的B的记录. 右联结A.B表的结果和左联结B.A的结果是一样的,也就是说: Select A.nam…
简介: RANGE分区基于一个给定的连续区间范围,早期版本RANGE主要是基于整数的分区.在5.7版本中DATE.DATETIME列也可以使用RANGE分区,同时在5.5以上的版本提供了基于非整形的RANGE COLUMN分区.RANGE分区必须的连续的且不能重叠.使用 “VALUES LESS THAN ()” 来定义分区区间,非整形的范围值需要使用单引号,并且可以使用MAXVALUE作为分区的最高值. 本文将给大家介绍MySQL 5.6.24 range分区增加删除处理的相关内容,分享给大家…