Mysql 日期型,索引查询的问题】的更多相关文章

问题: 表中,有一个日期字段WorkDate(Date YYYY-MM-DD格式),现在我把它建成了索引,在检索条件时,WorkDate='YYYY-MM-DD' 时,用EXPLAIN分析,能看到使用了索引,但是当我想按月查询时, 写成 WorkDate like 'YYYY-MM%' 或者 SUBSTR(WorkDate,1,7) = 'YYYY-MM' 或者 DATE_FORMAT(WorkDate,'%Y%m') = 'YYYYMM' 用EXPLAIN分析的结果是都没有使用索引.. 现在我…
日期类型可以直接和string格式的字符串比较 select * from xxx where event_time>'2018-06-02' 可以使用索引, mysql默认会把后面的字符串转成date类型.可以使用between and select * from xxx where date(event_time)>'2018-06-02'   不能使用索引 如果时间戳日期和时间都要比较, 最好使用两个字段保存这个时间戳, 这样可以利用索引 select * from xxx where…
现在有两个表,table1和table2,table1有1千万数据(id 主键索引),table2有三条数据(uid字段 3,5,7): select * from table1 where id in ( select uid from table2 ); 眨眼一看感觉这条语句应该很快:可能你会一厢情愿的以为 先执行括号里面的语句,然后在执行外层的select:外层的select用上了 id主键速度应该飞起来才对: 实际上这条语句执行非常慢,我这里测试20s: 通过  explain 分析,这…
1 原始sql: SELECT a.* FROM event_data a WHERE a.receive_time >= '2018-03-28 00:00:00' AND a.receive_time <= '2018-03-28 23:59:59' ORDER BY a.receive_time DESC LIMIT 56280,15; 改为查询索引列(这里指的是主键,速度快很多) mysql> SELECT a.pk_id -> FROM event_data a ->…
遇到一个问题,有几个结构一个的查询,表的索引建的也一样,但是有的查询很快,有的却很慢,需要半分钟以上才能执行完. 查看执行计划,并没有什么区别.找了很久原因才发现是主查询和子查询所涉及的表的字符编码不一致.改为一致后,问题解决. sql如下: delete from t_diag_detection WHERE reportName NOT IN (SELECT reportName FROM t_diag_reportinfo) 原因是 t_diag_detection表的字符编码是utf8m…
数据库时间:2017-11-08 16:30:00 查询出来: 2017-11-09 00:30:00 问题:数据库时区,和JDBC连接时区设置问题. set global time_zone = '+8:00'; show variables like "%time_zone%"; JDBC连接serverTimeZone: serverTimezone=Asia/Shanghai…
什么是索引? “索引”是为了能够更快地查询数据.比如一本书的目录,就是这本书的内容的索引,读者可以通过在目录中快速查找自己想要的内容,然后根据页码去找到具体的章节. 数据库也是一样,如果查询语句使用到了索引,会先去索引里面查询,取得数据所在行的物理地址,进而访问数据. 索引的优缺点 优势:以快速检索,减少I/O次数,加快检索速度:根据索引分组和排序,可以加快分组和排序: 劣势:索引本身也是表,因此会占用存储空间.索引的维护和创建需要时间成本,这个成本随着数据量增大而增大:构建索引会降低数据表的修…
一.优化概述 二.查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 profiling分析查询 2索引及查询优化 三.配置优化 1)      max_connections 2)      back_log 3)      interactive_timeout 4)      key_buffer_size 5)      query_cache_size 6)      record_buffer_size 7)      read_rnd_buffer…
一.优化概述二.查询与索引优化分析a.性能瓶颈定位show命令慢查询日志explain分析查询profiling分析查询b.索引及查询优化三.配置优化 max_connections back_log interactive_timeout key_buffer_size query_cache_size record_buffer_size read_rnd_buffer_size sort_buffer_size join_buffer_size table_cache max_heap_t…
一. 优化概述 MySQL数据库是常见的两个瓶颈是CPU和I/O的瓶颈,CPU在饱和的时候一般发生在数据装入内存或从磁盘上读取数据时候.磁盘I/O瓶颈发生在装入数据远大于内存容量的时候,如果应用分布在网络上,那么查询量相当大的时候那么平瓶颈就会出现在网络上,我们可以用mpstat, iostat, sar和vmstat来查看系统的性能状态. 除了服务器硬件的性能瓶颈,对于MySQL系统本身,我们可以使用工具来优化数据库的性能,通常有三种:使用索引,使用EXPLAIN分析查询以及调整MySQL的内…