mysql
程序猿在京
这个作者很懒,什么都没留下…
展开
-
MySQL8.0提示 caching_sha2_passwor‘ cannot be loaded
今天使用navicat连接MySQL8.0 的时候,出现如下报错提示:ERROR 2059 (HY000): Authentication plugin ‘caching_sha2_password’ cannot be loaded: …猜测是插件问题,排查下:SELECT `user`, `host`, `authentication_string`, `plugin` FROM mysql.user;+------------------+-----------+-------------原创 2021-09-22 21:17:48 · 170 阅读 · 0 评论 -
mysql日期字段增加年月日手记
mysql针对日期字段,如果只替换年月日,不替换时分秒,可以使用如下方法:concat( ( SELECT str_to_date( '07/2/2021', '%m/%d/%Y' ) FROM DUAL ), ' ', DATE_FORMAT( 要替换的日期字段名, '%H:%i:%S' ) )原创 2021-07-04 00:45:36 · 729 阅读 · 0 评论 -
mysql的tinyint(1)、tinyint(2)的区别
tinyint 型的字段如果设置为UNSIGNED类型,只能存储从0到255的整数,不能用来储存负数。tinyint 型的字段如果不设置UNSIGNED类型,存储-128到127的整数。1个tinyint型数据只占用一个字节;一个INT型数据占用四个字节。这看起来似乎差别不大,但是在比较大的表中,字节数的增长是很快的。1、如下这个配置:2、如下这个配置,这样会向前填充0,以满足位数要求:...原创 2021-03-12 10:17:02 · 1232 阅读 · 0 评论 -
mysql从一张表复制数据到另一表
INSERT INTO SELECT 实例业务描述:a、b两张表,将b表的数据补充到a表中(根据id关联),a表中已存在的数据不变创建表结构目的:将b表的Id=3的数据复制到a表解决方案:INSERT INTO a ( id, NAME ) SELECT b.id,b.NAME FROM bLEFT JOIN a ON a.id = b.id WHERE a.id IS NULL结果:...原创 2021-03-09 14:22:59 · 849 阅读 · 0 评论 -
mysql中Order by 优化
最好做法:利用索引避免排序,B+tree 索引本身的有序性,让mysql跳过排序过程。排序方式mysql排序模式1.-rowid排序(常规排序)1.从表中获取满足where条件的记录2.对于每条记录,将记录的主键及排序键(id、order_column)取出放入sort buffer(sort_buffer_size控制)3.如果sort buffer能存放所有满足条件的(id、order_column),则进行排序;否则sort buffer 满后,排序并写到临时文件。 排序算法:快速排序算法原创 2020-10-15 20:49:37 · 447 阅读 · 0 评论 -
mysql的sql优化神器explain
使用mysql数据库时,很多情况下会遇到执行速度慢的情况,怎么分析、解决?这篇文章应该能帮助你。测试版本:单表的列最大个数(查出来的结果)列(字段)个数限制达不到理想的4096个,且和字段类型有关:innodb引擎的字段上限是1017;MyISAM引擎表最多可以存2598个字段。单表的最大数据量建议不超过1千万行数据,超过的话会有很严重的性能问题,如果数据量确实很大,建议分库分表。接下来咱们要考虑千万级以下的数据量的优化技能。一般来说,要提高sql的执行效率,就是要创建合适的索引,那该怎原创 2020-09-11 16:40:46 · 108 阅读 · 1 评论