美文网首页
mysql数据类型优化

mysql数据类型优化

作者: 让梦想腾飞 | 来源:发表于2019-04-21 23:39 被阅读0次

mysql数据库怎么那么重要,,不就写写sql,那有什么,so easy,我一直是这样以为的,mongodb我可能不会,但sql语言我学了两遍,非常的自信。
可以有一天,公司线上环境mysql报了个莫名奇妙的错误,
1、Can't create more than max_prepared_stmt_count statements (current value: 16382)
运维一查:show status like "%Com_stmt%"


image.png

一共创建了67998次 prepare,执行了42646,关闭了17215,说明有25000多条stmt没有关闭。
而查询数据库上线:show variables like "%stmt%"


image.png
什么!!!,最大16382 ,而我们25000多条stmt没关闭,不报错怎么可能。
解决办法:go里面操作mysql采用原生sql
stmt, _ := db.Prepare(`INSERT INTO user (name, age) VALUES (?, ?)`)
//defer stmt.Close(),关键地方,未关。
ret, err := stmt.Exec("xys", 23)

2、那是去年的事情啦,已经离我们很遥远,可是当我们刚刚放松警惕,又一个天雷滚滚,线上服务又垮掉了。
Too many connections
天哪,这又是个什么错误!!!连接数过多。。

解决办法:1、增大mysql最大连接数,
2、解决慢查询语句占用连接。
show variables like '%connections%'


image.png

好,,问题暂时先抛出这两个。开始进入正题,数据类型优化什么呢?就是在建表时使用什么样的类型。
1、尽量不用null,因为不走索引
2、decimal 比double精度高,耗费性能
数据量大时,可以将decimal 换成bigint
3、整数类型后面跟的是显示的宽度。M指示最大显示宽度。最大有效显示宽度是255。显示宽度与存储大小或类型包含的值的范围无关。
4、对于varchar来说,只分配真正需要的空间,varchar(20) vs varchar(1000),因为Mysql通常会分配固定大小的内存来保存内部值,分配多了不用,是浪费啊

相关文章

  • MYSQL-数据类型优化

    MYSQL-数据类型优化 优化数据类型 MySQL支持的数据类型非常多,选择正确的数据类型对获得高性能至关重要。选...

  • MySQL优化指南

    MySQL优化指南 数据类型优化 原则 更小的通常更好:更小的数据类型通常更快,因为他们占用更少的磁盘、CPU和缓...

  • face 38 mysql数据库层的优化

    mysql数据库层的优化 穿透缓存层 优化方向 数据表数据类型优化 字段使用什么样的数据类型更合适 字段使用什么样...

  • mysql 语句积累

    1.查看并优化字段的数据类型 2.mysql update更新用法

  • 4、mysql基本数据类型

    [toc] MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种...

  • 2 MySQL数据类型

    2 MySQL数据类型   MySQL中定义数据字段的类型对你数据库的优化是非常重要的。   MySQL支持多种类...

  • PHP面试2

    自我介绍api接口安全redis的应用场景mysql优化redis的数据类型mysql存储引擎使用过哪些webse...

  • MySQL的数据类型

    MySQL 数据类型MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大致可以...

  • MySQL学习日记(五)-数据类型

    1、MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大...

  • MySQL 数据类型

    MySQL 数据类型MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大致可以...

网友评论

      本文标题:mysql数据类型优化

      本文链接:https://www.haomeiwen.com/subject/vmkjgqtx.html