• 记录一次数据库设置了utf8mb4仍然插入不仅如此emoji符号的问题


                   以前插入emogi符号时候,一般是把库表设置为utf8mb4就行了。但是昨天上完线发现有同事使用了下面的sql:

           

                 alter table mactalk_act convert to character set utf8mb4 collate utf8mb4_bin;

                更改后虽然可以插入emoji了,但是出现了超多的接口超时问题。最后网上查询说是修改了字符集后会导致索引失效,导致全表扫描的问题。用这个sql在测试环境看了下执行效率,果然是全表扫描了。但是如果改回来,则又不支持表情符号了。

               然后看了下系统变量:

               

              show variables like "%char%"

            发现几个系统变量都还是utf8;

             

         

             想了下应该是以前创建的,导致现在的字符集不同导致的。解决办法是全局去修改字符集,然后把原来的表的utf8的统一修改为utf8mb4;但是这个是一个比较大的事情;一步步修改来吧。

       参考:https://zhuanlan.zhihu.com/p/398661275

  • 相关阅读:
    markdown syntax
    solidity_mapping_implementation
    paramiko 模块安装和使用
    检测服务运行的脚本
    系统非正常关机启动后出现:an error occurred during the file system
    bacula 备份恢复
    socket 网络编程
    Python 8 协程/异步IO
    Linux系统通过console口连接交换机
    Python 7 多线程及进程
  • 原文地址:https://www.cnblogs.com/thinkingandworkinghard/p/16434387.html
Copyright © 2020-2023  润新知