范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

MySQL一个字符集转换的骚操作,酿下性能的苦果

  这是学习笔记的第 2275篇文章
  今天处理了一个RDS的问题,突然想起了好几年前处理的一个性能案例,看似不经意的细节竟然让我对整个问题的过程有了更清晰的认识。
  整个细节可以参见我写的这篇文章的处理过程:
  力荐:一条update语句引发的"血案"
  当时有一个地方没有想明白,那就是里面的字段APNS_PUSH_ID为什么字符集会是latin1,而表的字符集却妥妥的是UTF8,看起来是一个不大可能出现的场景。
  下午在协助处理一个问题的时候,才突然明白,我来复现下这个问题。
  创建一张表test_charset,设置字符集为latin1 mysql> create table test_charset(id int primary key,name varchar(30),memo varchar(30)) charset=latin1;Query OK, 0 rows affected (0.12 sec)
  查看表结构,可以清晰的看到,字段是共享了表的默认字符集,没有显式显示出来。mysql> show create table test_charsetG*************************** 1. row *************************** Table: test_charsetCreate Table: CREATE TABLE `test_charset` ( `id` int(11) NOT , `name` varchar(30) DEFAULT , `memo` varchar(30) DEFAULT , PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin11 row in set (0.01 sec)
  我们使用如下的语句来变更下表的字符集。mysql> alter table test_charset charset=utf8;Query OK, 0 rows affected (0.05 sec)Records: 0 Duplicates: 0 Warnings: 0
  这个时候再次查看就会发现,原本"继承"的latin1字符集现在显式显示出来了,表的字符集是utf8,但是字符类型的字段字符集依然是latin1mysql> show create table test_charsetG*************************** 1. row *************************** Table: test_charsetCreate Table: CREATE TABLE `test_charset` ( `id` int(11) NOT , `name` varchar(30) CHARACTER SET latin1 DEFAULT , `memo` varchar(30) CHARACTER SET latin1 DEFAULT , PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf81 row in set (0.00 sec)
  如果后续再添加字段,不显式指定字符集。mysql> alter table test_charset add memo2 varchar(30);Query OK, 0 rows affected (0.14 sec)Records: 0 Duplicates: 0 Warnings: 0
  查看表结构会发现,新字段memo2的字符集就会是utf8mysql> show create table test_charsetG*************************** 1. row *************************** Table: test_charsetCreate Table: CREATE TABLE `test_charset` ( `id` int(11) NOT , `name` varchar(30) CHARACTER SET latin1 DEFAULT , `memo` varchar(30) CHARACTER SET latin1 DEFAULT , `memo2` varchar(30) DEFAULT , PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf81 row in set (0.00 sec)
  好了,问题到了这里就相对有了一个思路。
  那么产生最开始让人疑惑的问题原因是什么呢?就是哪个骚操作:mysql> alter table test_charset charset=utf8;
  这是一个表级属性的变更,注意MySQL里面字段,表,数据库都可以存在差异化的字符集设置。虽然可以支持,但是显然这样做是不合理的。
  而如果要让字段的变更同时生效,应该使用convert to 语句,我们为了突出变化,改为utf8mb4字符集。mysql> alter table test_charset convert to charset utf8mb4; Query OK, 0 rows affected (0.13 sec)Records: 0 Duplicates: 0 Warnings: 0
  mysql> show create table test_charsetG*************************** 1. row *************************** Table: test_charsetCreate Table: CREATE TABLE `test_charset` ( `id` int(11) NOT , `name` varchar(30) DEFAULT , `memo` varchar(30) DEFAULT , `memo2` varchar(30) DEFAULT , PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb41 row in set (0.00 sec)

月经期间到底能不能洗头?今天的分享主题跟我们所有女性息息相关哦,就是月经期间我们到底能不能洗头?月经是要伴随每一个女性很多年的一件事情,月经是可以反映一个女性身体的健康的一项重要指标,当然月经也会给我们带做人,不要去怪任何人人这一生,会遇到各式各样的人,有的带给你快乐,有的带给你伤痛,无论如何,否别责怪。或许恶人带给你你的伤痛至今未愈但不要怪任何人,责怪只会让增加自己的怨气,可对方,依旧安好自在地过着退休了就要去逛的城市,玩过两个就厉害,如果都去那就圆满了旅行,是一件惬意的赏心悦目的事情。在以前,旅行可能属于有钱有闲的人,现在旅行已经没有年龄的限制。不论是刚毕业的学生,还是已经退休的老人,旅行都成了他们最新的选择。甚至不少六十岁以上为了追到女朋友,我正在讨好小舅子一定要珍惜这个时间段,多要点,不然以后就没有机会了。我姐夫追我姐的时候,一年给我换一个手机,想要啥就买。结婚后,钱归我姐管了,想买啥也买不成了,姐夫说没钱了真实了了,我姐男朋友也是无能为力的难受我希望我这辈子无论再怎么崩溃,都不要对我儿子说出,我怎么生了你,我真的后悔生了你!我和我妈妈,在粮站的米仓里住到三岁,后来她再婚了。我一直跟着我外婆生活,在我的记忆里,我妈很少笑,断舍离清单,这60件东西照着扔就对了,让生活更简单,更宁静文程优优断舍离这个词大家应该都听说过,是现在多数人推崇的一种生活方式。开始断舍离后,最直接的好处,就是会给你的家腾出更多的空间,让你的生活变得更加简单。断舍离这三个字表面上看,是让二战中,德国为何宁肯入侵强大的苏联,也不入侵石油丰富的中东?众所周知,石油是工业的血液,更是战争的血液。在第二次世界大战中,德国凭借坦克飞机等吃油的钢铁洪流,以闪电战的方式,一度席卷欧洲大地,横扫英国法国和苏联等一流强国。可以说,没有石油的随心随性的人生格言,句句经典,值得收藏一生一在小时候想要什么,恨不得全世界都去知道,就像是已经得到一样现在想要什么,生怕是别人知道,否则就像要失去一样。二你得有足够的实力,你的原则和底线才会被人尊重。三清醒时做事,糊涂时读2021最火感悟人生的话,精辟睿智,百读不厌一腾不出时间来睡觉的人,迟早会腾出时间来生病腾不出时间来复习的人,迟早会腾出时间来补考腾不出时间来谈恋爱的人,迟早会腾出时间来相亲。二这世界的大部分失落,都是因为我们没能成为更好的一个普通人的回答人为什么要努力?2020年(73刊)11月27申时01hr大家好,我是知秋。小雪时节到了,最近天气也是非常的冷,每天下雨刮风,有一点过于凉快了,开始毛衣什么的都穿起来了,不知道在看文章的你有没有加搞笑段子让人笑疯的搞笑段子朋友们我想耽误你们两分钟,说是蔡某某给她的同僚就是那个拜某的狗吊了个唁。什么关你什么事对啊也不关我的事啊,你要关注重点,那个重点就是我要耽误你们两分钟。说是50年的婚姻叫金婚,那5
从亲戚家拷贝的游戏,回家却不能用?可能你拷贝的只是快捷方式!从亲戚家拷贝了一个游戏,为什么到自己家里不能用了?你拷贝回来的很可能只是一个该游戏应用程序的快捷方式随着互联网时代的发展,电脑早已经成为了我们日常生活中必不可少的物品,不管是在办公腰酸肩痛还有鼠标手!这才是电脑的正确使用方法,赶快GET!随着电脑使用者的增多,电脑和健康的问题已引起人们的关注。据调查,常用电脑的人中感到眼睛疲劳的占83,肩酸腰痛的占63。9,头痛和食欲不振的分别占56,1和54。4,其他还出现自律神电脑小窍门电脑窗口的移动以及多窗口之间切换方法!同时打开了好几个窗口,怎样来移动或切换它们?你可按下面的方法来操作移动窗口在窗口的左上角有个当前窗口属性的图标,如Word窗口会有个Word的图标,在这个图标上右击会有左上角按钮作春夏秋冬四季节春夏秋冬这四个季节,是四幅绚丽的图画。绘就春的,是缤纷的花丛勾勒夏的,是鲜翠欲滴的叶子画出秋的,是无垠的稻田描绘冬的,则是一朵朵冬天的使者雪花。雪花从一望无际的天空轻轻飘落下来,纷国内专坑游客的10大美食街,你去过几个?出来旅行,无非就是吃喝玩乐!其中吃尤其重要。有一句老话叫民以食为天,现在想想不管是老友相见,还是和陌生人相处时的第一句话问的几乎都是吃了么?在中国,八大菜系,各有特色。甚至每座城市金桂飘香的季节,想不想了解下桂花?八月桂花香,正值金秋季节,南方偏南方的城市里乡村里是不是飘来阵阵暗香,淡淡的香香的,让人忍不住想要找寻一番看看这香味从哪儿飘来,往往是在不起眼的地方,绿化带中土墙旁边,看起来既不高我们来盘点一下我们中国100种常见的美食1火锅2烤鸭3兰州拉面4串串香5酸辣粉6热干面7肉夹馍8臭豆腐9肠粉10小笼包11桂林米粉12山东煎饼13螺蛳粉14锅包肉15炉肉火烧16刀削面17瓦罐汤18佛跳墙19天津煎饼果子河南加油,郑州加油7月18日18时,河南郑州出现罕见持续强降水天气,截止21日0时,洪灾已造成郑州市区12人死亡。河南继续发布橙色预警!多路直击防汛现场。直播镜头中,消防人员交警等国家机关人员一直坚郑州挺住。河南加油作者王志喜最近几天时间特大暴雨袭击中原河南省会郑州成为泽国无情的洪水肆虐泛滥多少车辆被困在高架桥上多少商铺进水被淹道路无法通行车被掀翻被洪水围困的群众急待救援每小时降雨量201毫米散文风雨交响曲雨在窗外不停地下着风和雨已经蓄谋已久天降暴雨雷声大作楼群把大风撕破风雨雷电合奏天地的狂舞翻手为雨覆手也是雨那窗外的雨滴想用手接住心窝上刻上这日子为我留住这记忆这旷日持久的大旱彻底得扶风县城关街道新一届村(社区)调委会主任集中充电赋能村(社区)调委会换届选举,不仅为村级人民调解队伍注入了新鲜血液,也对人民调解业务知识培训提出了新要求。为进一步加强学习枫桥经验,提高村级人民调解员业务水平,提升人民调解工作质量。近