优化MySQL的注意事项有哪些 - SEO - 新闻资讯 - 优化MySQL的注意事项有哪些
新闻资讯

优化MySQL的注意事项有哪些

发布时间:2021-04-22 浏览次数:13

我们所使用的数据表格很多都经过优化MySQL‍而产生的,而不是信手拈来就直接用的,要想让一些错综复杂的数据表格发挥更大的使用价值,就必须对其进行一定的优化,但是进行MySQL‍优化必须要有一定的手段和技巧,今天我们就来谈一下进行MySQL‍优化的注意事项有哪些。

4a10031aead89f5d

一、关于NULL和INT

通常来说把可为NULL的列改为NOT NULL不会对性能提升有多少帮助,只是如果计划在列上创建索引,就应该将该列设置为NOT NULL。对整数类型指定宽度,比如INT(11),没有任何卵用。INT使用32位(4个字节)存储空间,那么它的表示范围已经确定,所以INT(1)和INT(20)对于存储和计算是相同的。

二、关于UNSIGNED和DECIMAL

UNSIGNED表示不允许负值,大致可以使正数的上限提高一倍。比如TINYINT存储范围是-128 ~ 127,而UNSIGNED TINYINT存储的范围却是0 - 255。通常来讲,没有太大的必要使用DECIMAL数据类型。即使是在需要存储财务数据时,仍然可以使用BIGINT。比如需要准确度达到万分之一,那么可以将数据乘以一百万然后使用BIGINT存储。这样可以避免浮点数计算不准确和DECIMAL准确计算代价高的问题。

三、关于TIMESTAMP和ALTER TABLE

TIMESTAMP使用4个字节存储空间,DATETIME使用8个字节存储空间。因而,TIMESTAMP只能表示1970 - 2038年,比DATETIME表示的范围小得多,而且TIMESTAMP的值因时区不同而不同。大多数情况下没有使用枚举类型的必要,其中一个缺点是枚举的字符串列表是固定的,添加和删除字符串(枚举选项)必须使用ALTER TABLE(如果只只是在列表末尾追加元素,不需要重建表)。

以上就是小编为大家介绍的关于优化MySQL‍的一些注意事项,也可以说是一些比较实用性的小技巧,另外大家要想做好优化MySQL‍工作还要注意不设置太多的schema的列,原因是存储引擎的API工作时需要在服务器层和存储引擎层之间通过行缓冲格式拷贝数据,然后在服务器层将缓冲内容解码成各个列,这个转换过程的代价是非常高的。如果列太多而实际使用的列又很少的话,有可能会导致CPU占用过高。

相关推荐

产品试用 产品试用
400-820-6580 免费电话