mysql怎么格式化 Mysql怎么格式化sql的快捷键( 二 )


使用DATE_FORMAT
SELECT * FROM 表名 WHERE DATE_FORMAT( date_sy, '%Y-%m-%d')'2016-12-01' AND DATE_FORMAT( date_sy, '%Y-%m-%d')'2016-12-05'
怎么把mysql查询的内容格式化成redis-cli可用的数据格式从mysql搬一个大表到redis中mysql怎么格式化 , mysql怎么格式化你会发现在提取、转换或是载入一行数据时mysql怎么格式化 , 速度慢的让你难以忍受 。这里我就要告诉一个让你解脱的小技巧 。使用“管道输出”的方式把mysql命令行产生的内容直接传递给redis-climysql怎么格式化 , 以绕过“中间件”的方式使两者在进行数据操作时达到最佳速度 。
一个约八百万行数据的mysql表 , 原本导入到redis中需要90分钟,使用这个方法后,只需要两分钟 。不管你信不信,反正我是信了 。
Mysql到Redis的数据协议
redis-cli命令行工具有一个批量插入模式,是专门为批量执行命令设计的 。这第一步就是把Mysql查询的内容格式化成redis-cli可用的数据格式 。here we go!
我的统计表:
?1234567 CREATE TABLE events_all_time (id int(11) unsigned NOT NULL AUTO_INCREMENT,action varchar(255) NOT NULL,count int(11) NOT NULL DEFAULT 0,PRIMARY KEY (id),UNIQUE KEY uniq_action (action) );准备在每行数据中执行的redis命令如下:
HSET events_all_time [action] [count]
按照以上redis命令规则,创建一个events_to_redis.sql文件,内容是用来生成redis数据协议格式的SQL:
-- events_to_redis.sql
?12345678910111213141516171819 SELECT CONCAT("*4\r\n",'$', LENGTH(redis_cmd), '\r\n',redis_cmd, '\r\n','$', LENGTH(redis_key), '\r\n',redis_key, '\r\n','$', LENGTH(hkey), '\r\n',hkey, '\r\n','$', LENGTH(hval), '\r\n',hval, '\r') FROM (SELECT 'HSET' as redis_cmd,'events_all_time' AS redis_key,action AS hkey,count AS hvalFROM events_all_time ) AS tok, 用下面的命令执行:
?1 mysql stats_db --skip-column-names --rawevents_to_redis.sql | redis-cli --pipe很重要的mysql参数说明:
1.--raw: 使mysql不转换字段值中的换行符 。
2.--skip-column-names: 使mysql输出的每行中不包含列名 。
【mysql怎么格式化 Mysql怎么格式化sql的快捷键】mysql怎么格式化的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于Mysql怎么格式化sql的快捷键、mysql怎么格式化的信息别忘了在本站进行查找喔 。

推荐阅读